Commit Graph

5 Commits

Author SHA1 Message Date
Niklas Holm
6d55c8eb80 Update perl to v5.28.0 (#4044)
* mingw-w64-perl: update to v5.28.0

* mingw-w64-perl: Add build options

- USE_64_BIT_INT: 64-bit integers in 32-bit build
- USE_MINGW_ANSI_STDIO: Enable MINGW's ANSI stdio extensions

Inspired by Strawberry Perl's build.

* mingw-w64-perl: Packaging improvements

- New script to update provides array (updpkgprovs)
  * updpkgprovs takes information from corelist
  * patchprov produced lowercase package names witch doesn't match the
    module naming convention
  * patchprov missed a lot of packages which modules declares dependency
    on
- Move pods to doc package (pods are documentation read by perldoc)
- Keep relocation list in install script instead of seperate file
- Make minor improvements to profile script (fewer subshells => faster)
- Various minor improvements
2018-07-05 13:32:26 +03:00
Niklas Holm
ebdf1bf1b3 Update perl to v5.26.1 (#3498)
* mingw-w64-perl: Fix packaging failure

Fixes issue #3397

If $pkgbase is set, $pkgdir gets defaulted to $pkgdirbase/$pkgbase
rather than $pkgdirbase/$pkgname during build(). Not a really bug in
makepkg because $pkgdir is only officially supported in package()
according to the manpage.

* mingw-w64-perl: Rewrite recipe

- Don't duplicate patch list.
- Remove rsync call; it adds a build dependency and unnecessarily copies
  data that is soon purged anyway. If one wants to keep a local copy and
  build with --noextract, use a local development tree instead.
- Add SRCURI variable to recipe in case one wants to override the source
  from which to build, for example a local development tree.
- Keep old builds until explicitly removed (i.e. with the -C flag).
- Use grep and xargs to find and replace all path-patterns rather than
  using many individual invocations and hardcoded paths (less
  maintenance). Also saves a list of the modified files for the install
  script to pick up.
- Add check() to run "make test".
- Delete unnecessary files before packaging.
- Add profile.d entry to build a PATH that doesn't interfere with MSYS's
  default perl installation based on built configuration.
- Install site and vendor dirs based on built configuration.

* mingw-w64-perl: Update to v5.26.1

- Rebased patches onto vanilla perl v5.26.1 source tree
- Enable parallel build and tests

* mingw-w64-perl: Fix runperl

Exclude runperl from 003-replace-batch-scripts-with-bare-perl.patch,
as it's only useful if converted to a .bat file (RTFM) (issue #3167).

* mingw-w64-perl: Switch to GNU make

Reasons:
- dmake is no longer maintained and not even recommended by the author.
- GNU make is faster.
- One less test failure.

Changes:
- Add changes to GNUmakefile to patchset.
- Set mingw32-make as default make instead of dmake.

* mingw-w64-perl: Unify relocation

- Keep relocation code in one place and avoid hardcoded paths.
- Don't replace ':' with '|', see
  https://tools.ietf.org/html/rfc8089#appendix-E.2.2

* mingw-w64-perl: Rename cpan home

Rename cpan home dir (~/.cpan) to .cpan-w32/w64 to avoid clash with
msys2 perl installation.

To avoid multiple patches, replace the directory name at build() with a
suitable value depending on CARCH.

* mingw-w64-perl: Add provides packaging data

* mingw-w64-perl: Seperate core/site/vendor dirs

- Put core, site, and vendor scripts and modules as well as site and
  vendor binaries in seperate directories. Core binaries still goes in
  $prefix/bin.
- Remove patch hunk that sets libpth to INST_LIB. Seems strange.
- Add the maintainer script which was written to configure the
  directories for binaries, scripts, libraries etc.

* mingw-w64-perl: Add manpages to package

The Windows makefile(s) by default only builds html documentation. With
this patch it builds manual pages as well.

* mingw-w64-perl: Package docs seperately

- Package manpages and html documentation seperately in perl-doc as they
  are quite large and many users may not want them.
- Generate the install scripts for each package from a template, as they
  are very similiar, instead of duplicating code.
2018-03-30 09:11:08 +03:00
Alexey Pavlov
5ac0499457 Rebuild failures. 2015-07-21 01:14:21 +03:00
Alexpux
4e222f7ab9 perl: Update to 5.20.2 2015-02-27 10:39:51 +03:00
Renato Silva
fb6ca8aa70 Improvements for the perl package.
* Better FHS directory structure.
* Replace batch scripts with bare perl.
* Fix CPAN module installation.
* Fix links in HTML documentation.
* Update to Perl 5.20.
* Source code refactoring and update.

The locations below are now used for @INC. The /mingw*/lib directory is not
flooded anymore with perl libraries, they all reside now in the perl5 subfolder.

    - lib/perl5/core_perl
    - lib/perl5/site_perl
    - lib/perl5/vendor_perl

Scripts such as perldoc and cpan are now bare perl scripts instead of batch
files, this allows using them directly from bash. Dmake now ignores the SHELL
environment variable, so unsetting it before dmake calls is not anymore needed.
This fixes CPAN module installation since dmake now understands the makefiles.

First run of cpan will not store full paths to external programs anymore, only
the program names. For example, 32-bit bzip2 will not be used under the 64-bit
shell. Dmake is now always selected as the make program, since GNU make doesn't
like the generated makefiles. HTML documentation uses a base directory for
links, this is now relocated on package installation so user can navigate
through the pages in web browser.
2015-01-07 13:16:48 -02:00