Skip to content

Commit

Permalink
(devel/p5-PAR-Packer) Updated 1.052 to 1.059
Browse files Browse the repository at this point in the history
1.059  2023-07-20

- correctly propagate the exit value of a packed executable

  Get the exit value from perl_destruct() instead of perl_run().
  These may be different, e.g. if the value of $? is set in an END block.

- clean up tests a bit
- set up GitHub CI and add cpanfile (for CI only)
- check more return codes in myldr/*.c

1.058  2023-06-12

- patch DynaLoader.pm to make intercepting DynaLoader::bootstrap work again
  for Perl >= 5.35 on Windows (see #74)

  $do_expand was changed in perl 5.36 from an (implicit) "local" variable
  to "my". This breaks how PAR::Heavy intercepts calls to
  DynaLoader::bootstrap: monkey-patching DynaLoader::bootstrap,
  DynaLoader::dl_findfile and DynaLoader::bootstrap while setting
  "local $DynaLoader::do_expand = 1".

- reorganize modules etc used in tests
- add test to run an XS module from a .par file
- add a test for loading XS "glue" DLLs

- remove unused code for packed DLLs ("pp --link ...")
  - nobody packs (non-XS) DLLs as embedded "FILE"s
  - nobody uses a $Config{version) sub directory when packing DLLs below
    "shlib/" in the zip

1.057  2022-11-29

- use a different method to mark executable built from "pp --clean ..."

  - scripts/par.pl: don't patch the string "__PASS_PAR_CLEAN__               \0" in the
    "boot" section of the executable and ...
  - myldr/boot.c: ... stop looking for the patched string
  - scripts/par.pl: add "\0CLEAN" in lieu of "\0CACHE" (and drop the 40-byte
    cache name below that) in the "trailer" section when generating a packed
    executable when META.yml indicates "--clean" was specified)
  - myldr/mktmpdir.c: allow "\0CLEAN" as an alternative to "\0CACHE"
    and set PAR_CLEAN=1 in that case
  - myldr/mktmpdir.c: implement find_par_magic() akin the one in script/par.pl

- better CLT detection in MacOS (#70) [plk <Philip@kime.org.uk>]

- use Getopt::ArgvFile with resolveEnvVars=1
  suggested by Johan Vromans (@sciurius on GitHub)

1.056  2022-09-05

- Fix #66: patch myldr/boot for "pp --clean ..." without side effects

  - make sure myldr/boot contains exactly one string of the form
    "__PASS_PAR_CLEAN__               \0" so that there are no
    duplicates that may get split on chunk boundaries
    (myldr/boot_embedded_files.c)
  - simplify patching of this string (in $loader) to
    "__PASS_PAR_CLEAN__=1             \0" in script/par.pl
  - add a test for #66 (check for ephemeral vs persistent cache directory)

- Revert "Fixes #62: rs6000_71 (AIX) "An offset in the .loader section header is too large.""

  PAR_CLEAN is set too late: at this point PAR_TEMP has already
  been set (and populated) to a persistent cache directory
  (/tmp/par-USER/cache-SHA1) instead of an ephemeral one (/tmp/par-USER/temp-PID).

- Some code cleanup
  - replace some magic numbers with constants
  - use string interpolation (instead of concatenation)
  - clean up some convoluted C code

1.055  2022-07-03

- Fix #62: rs6000_71 (AIX) "An offset in the .loader section header is too large."

  Communicate pp option "--clean" to the generated executable in a
  different way. Previously this was done by patching "__ENV_PAR_..." strings
  **in the executable being built** and interpreting these strings in
  par.pl **at runtime**. Though hacky, this seemingly worked on any OS
  (without rendering the executable invalid).
  But the only information ever passed was the value of PAR_CLEAN and this was
  gleaned at build time from the value of JSONPath $par.clean from META.yml
  in the zip (set by pp by option "--clean").
  Instead read and interpret "META.yml" in par.pl **at runtime**.

- Fix: merge PR #58 from Philip@kime.org.uk:

  Adding support for running MacOS Universal binaries created via 'lipo'
  from already pp'ed and signed thin binaries

- Make writing stuff more robust: check return value of print()
  and close() in some places.

1.054  2022-01-27

- Temporarily disable t/90-gh41.t (system("\\\\?\\some-absolute-path") fails)

1.053  2022-01-25

- Fix: merge PR #56 from from Philip Kime <Philip@kime.org.uk>:
  Updating OSX codesign fix util with fix for automatically added ad-hoc signatures on OSX 12+

- Fix: merge PR #42 from Andrew-Kulpa/master:
  Get exe size from file handle instead of path

- Fix: prevent TABs in literal makefile fragments from being expanded

- Cleanups:
  - par_findprog(): pass a copy of argument `path´ to strtok()
  - simplify searching for PAR magic
  - consolidate die()s
  - add a test for GitHub #41
  - add error message when exec'ing the custom perl fails in myldr/boot
  - untangle %require_list and %ModuleCache
  • Loading branch information
mef committed Dec 19, 2023
1 parent 1d43436 commit d815363
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
5 changes: 2 additions & 3 deletions devel/p5-PAR-Packer/Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# $NetBSD: Makefile,v 1.3 2023/07/06 09:39:46 wiz Exp $
# $NetBSD: Makefile,v 1.4 2023/12/19 12:19:51 mef Exp $

DISTNAME= PAR-Packer-1.052
DISTNAME= PAR-Packer-1.059
PKGNAME= p5-${DISTNAME}
PKGREVISION= 2
CATEGORIES= devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=PAR/}

Expand Down
8 changes: 4 additions & 4 deletions devel/p5-PAR-Packer/distinfo
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
$NetBSD: distinfo,v 1.1 2021/12/29 14:33:12 prlw1 Exp $
$NetBSD: distinfo,v 1.2 2023/12/19 12:19:51 mef Exp $

BLAKE2s (PAR-Packer-1.052.tar.gz) = 2e6c75bbeb1f2089aa187aa7e367d920528b1089142b5d30c8581139fe9838f1
SHA512 (PAR-Packer-1.052.tar.gz) = 5acd1efcb2bf6ebfca46e88f840cd8575f601443037fbf627f4a03b88119628a66ae522cd8de2488f0a143e6320c94e8b47f45db0ecffa61593715c848ebd379
Size (PAR-Packer-1.052.tar.gz) = 204526 bytes
BLAKE2s (PAR-Packer-1.059.tar.gz) = 6f4b1aabd36d1b944b35e4cce62f3b845e63917ec581d9ec1db63c21c652034e
SHA512 (PAR-Packer-1.059.tar.gz) = 0026720ca30682dab50fc92d820dc12cffd090e3bcd568fb6d7764f40e3c50c2f7578aaa1a62f01a29d0669cc4435f30da56b12516e813cec080e4a1dad204f2
Size (PAR-Packer-1.059.tar.gz) = 198725 bytes

0 comments on commit d815363

Please sign in to comment.