+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%{?with_microperl:install microperl $RPM_BUILD_ROOT%{_bindir}}
+install -d $RPM_BUILD_ROOT%{_mandir}/{ja,ko,zh_CN,zh_TW}/man1
+
+## use symlinks instead of hardlinks
+%{__ln_s} -f perl%{ver} $RPM_BUILD_ROOT%{_bindir}/perl
+
+## install directory needed by packages dependant on TAP::Harness
+install -d $RPM_BUILD_ROOT%{perl_privlib}/TAP/Harness
+## install directory needed by packages dependant on Encode
+install -d $RPM_BUILD_ROOT%{perl_vendorlib}/Encode
+
+## Fix lib
+%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so
+%{__mv} $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so.%{abi} $RPM_BUILD_ROOT%{_libdir}
+%{__ln_s} ../../../../libperl.so.%{abi} $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so.%{abi}
+%{__ln_s} libperl.so.%{abi} $RPM_BUILD_ROOT%{_libdir}/libperl.so
+# installed as non-executable - let rpm generate deps
+chmod 755 $RPM_BUILD_ROOT%{_libdir}/libperl.so.%{abi}
+
+## Fix Config.pm: remove buildroot path and change man pages extensions
+%{__perl} -pi -e 's,%{buildroot}/*,/,g' $RPM_BUILD_ROOT%{perl_archlib}/Config.pm
+%{__perl} -pi -e "s,^man1ext='1',man1ext='1p'," $RPM_BUILD_ROOT%{perl_archlib}/Config_heavy.pl
+%{__perl} -pi -e "s,^man3ext='3perl',man3ext='3pm'," $RPM_BUILD_ROOT%{perl_archlib}/Config_heavy.pl
+
+## Generate the *.ph files
+owd=$(pwd)
+cd /usr/include
+H2PH=$RPM_BUILD_ROOT%{_bindir}/h2ph
+PHDIR=$RPM_BUILD_ROOT%{perl_archlib}
+WANTED='
+ syscall.h
+ syslog.h
+ termios.h
+ wait.h
+ asm/termios.h
+ sys/ioctl.h
+ sys/socket.h
+ sys/syscall.h
+ sys/time.h
+ linux/posix_types.h
+ linux/stddef.h
+'
+# why it returns non-zero???
+%{__perl} $H2PH -a -d $PHDIR $WANTED || :
+cd "$owd"
+
+## remove man pages for other operating systems
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/perl{aix,amiga,bs2000,ce,cygwin,dos}* \
+ $RPM_BUILD_ROOT%{_mandir}/man1/perl{freebsd,hpux,macos,os2,os390}* \
+ $RPM_BUILD_ROOT%{_mandir}/man1/perl{qnx,solaris,vms,vos,win32}*
+
+## symlink perldelta.1.gz -> perlFOOdelta.1.gz
+[ -e $RPM_BUILD_ROOT%{_mandir}/man1/perl%(echo %{ver} | tr -d .)delta.1 ] || exit 1
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1
+echo ".so perl%(echo %{ver} | tr -d .)delta.1" >$RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1
+
+## These File::Spec submodules are for non-Unix systems
+%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/File/Spec/[EMOVW]*.pm
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/File::Spec::{Epoc,Mac,OS2,VMS,Win32}.3perl*
+
+## We already have these *.pod files as man pages
+%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/{Encode,Locale{,/Codes,/Maketext},Module,Net,Test,version}/*.pod
+%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/*.pod
+%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/*.pod
+
+install -d doc-base/{DynaLoader,Errno,File/Glob,IO,PathTools} \
+ doc-devel/{Devel/Peek,ExtUtils/{CBuilder,ParseXS}} \
+ doc-modules/{Attribute/Handlers,Carp,Data/Dumper,Hash/Util/FieldHash,I18N/LangTags,Locale/Maketext} \
+ doc-modules/{Module/CoreList,Net/Ping,Safe,Search/Dict,Storable,Time/HiRes,base,if,mro,unicore}
+cp -p dist/Attribute-Handlers/Changes doc-modules/Attribute/Handlers
+cp -p dist/Carp/{Changes,README} doc-modules/Carp
+cp -p dist/Data-Dumper/{Changes,Todo} doc-modules/Data/Dumper
+cp -p dist/ExtUtils-CBuilder/Changes doc-devel/ExtUtils/CBuilder
+cp -p dist/ExtUtils-ParseXS/Changes doc-devel/ExtUtils/ParseXS
+cp -p dist/I18N-LangTags/{ChangeLog,README} doc-modules/I18N/LangTags
+cp -p dist/IO/{ChangeLog,README} doc-base/IO
+cp -p dist/Locale-Maketext/{ChangeLog,README} doc-modules/Locale/Maketext
+cp -p dist/Module-CoreList/{Changes,README} doc-modules/Module/CoreList
+cp -p dist/Net-Ping/Changes doc-modules/Net/Ping
+cp -p dist/PathTools/Changes doc-base/PathTools
+cp -p dist/Safe/{Changes,README} doc-modules/Safe
+cp -p dist/Search-Dict/Changes doc-modules/Search/Dict
+cp -p dist/Storable/{ChangeLog,README} doc-modules/Storable
+cp -p dist/Time-HiRes/Changes doc-modules/Time/HiRes
+cp -p dist/base/Changes doc-modules/base
+cp -p dist/if/Changes doc-modules/if
+cp -p ext/Devel-Peek/Changes doc-devel/Devel/Peek
+cp -p ext/DynaLoader/README doc-base/DynaLoader
+cp -p ext/Errno/ChangeLog doc-base/Errno
+cp -p ext/File-Glob/{Changes,TODO} doc-base/File/Glob
+cp -p ext/Hash-Util/Changes doc-modules/Hash/Util
+cp -p ext/Hash-Util-FieldHash/Changes doc-modules/Hash/Util/FieldHash
+cp -p ext/mro/Changes doc-modules/mro
+
+# needed only for tests
+%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/Unicode/Collate/keys.txt
+# source for *.pl
+%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/unicore/*.txt
+# lib/Unicode/UCD.pm opens them via openunicode():
+cp -p lib/unicore/{Blocks,CaseFolding,SpecialCasing}.txt $RPM_BUILD_ROOT%{perl_privlib}/unicore
+
+# cpan tools, we use rpm instead of cpan for managing packages (some search tool would be nice to have but...)
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/cpan*
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cpan*
+
+owd=$(pwd)
+
+## non-english man pages
+%{__bzip2} -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+
+%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/perlcn.* $RPM_BUILD_ROOT%{_mandir}/zh_CN/man1
+%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/perljp.* $RPM_BUILD_ROOT%{_mandir}/ja/man1
+%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/perlko.* $RPM_BUILD_ROOT%{_mandir}/ko/man1
+%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/perltw.* $RPM_BUILD_ROOT%{_mandir}/zh_TW/man1
+
+# `perl -MExtUtils::Embed -e ldopts` includes -Wl,--as-needed
+# which is then forced upon anyone embedding perl.
+%{__sed} -i -e 's#^\(ld.*=.*\)-Wl,--as-needed\(.*\)#\1 \2#g' $RPM_BUILD_ROOT%{perl_archlib}/Config*.pl
+
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.perl-non-english-man-pages
+
+# update and check perl-modules files