live-bootstrap/steps/perl-5.10.1/patches/undefined_hack.patch
fosslinux 6ed2e09f3a Remove the notion of "sys*"
- This idea originates from very early in the project and was, at the
  time, a very easy way to categorise things.
- Now, it doesn't really make much sense - it is fairly arbitary, often
  occuring when there is a change in kernel, but not from builder-hex0
  to fiwix, and sysb is in reality completely unnecessary.
- In short, the sys* stuff is a bit of a mess that makes the project
  more difficult to understand.
- This puts everything down into one folder and has a manifest file that
  is used to generate the build scripts on the fly rather than using
  coded scripts.
- This is created in the "seed" stage.

stage0-posix -- (calls) --> seed -- (generates) --> main steps

Alongside this change there are a variety of other smaller fixups to the
general structure of the live-bootstrap rootfs.

- Creating a rootfs has become much simpler and is defined as code in
  go.sh. The new structure, for an about-to-be booted system, is

/
-- /steps (direct copy of steps/)
-- /distfiles (direct copy of distfiles/)
-- all files from seed/*
-- all files from seed/stage0-posix/*

- There is no longer such a thing as /usr/include/musl, this didn't
  really make any sense, as musl is the final libc used. Rather, to
  separate musl and mes, we have /usr/include/mes, which is much easier
  to work with.
- This also makes mes easier to blow away later.
- A few things that weren't properly in packages have been changed;
  checksum-transcriber, simple-patch, kexec-fiwix have all been given
  fully qualified package names.
- Highly breaking change, scripts now exist in their package directory
  but NOT WITH THE packagename.sh. Rather, they use pass1.sh, pass2.sh,
  etc. This avoids manual definition of passes.
  - Ditto with patches; default directory is patches, but then any patch
    series specific to a pass are named patches-passX.
2023-12-15 21:43:19 +11:00

124 lines
4.1 KiB
Diff

SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: Artistic-1.0-Perl
There are a bunch of aliases that perl's build system somehow makes but
I'm not sure how to appropriately do them, so just patch them.
--- lib/ExtUtils/Constant.pm 2021-04-20 21:06:43.272663878 +1000
+++ lib/ExtUtils/Constant.pm 2021-04-20 21:07:11.116805426 +1000
@@ -253,11 +253,11 @@
switch (type) {
case PERL_constant_NOTFOUND:
sv =
- sv_2mortal(newSVpvf("%s is not a valid $package_sprintf_safe macro", s));
+ sv_2mortal(Perl_newSVpvf("%s is not a valid $package_sprintf_safe macro", s));
PUSHs(sv);
break;
case PERL_constant_NOTDEF:
- sv = sv_2mortal(newSVpvf(
+ sv = sv_2mortal(Perl_newSVpvf(
"Your vendor has not defined $package_sprintf_safe macro %s, used",
s));
PUSHs(sv);
@@ -288,7 +288,7 @@
}
$xs .= << "EOT";
default:
- sv = sv_2mortal(newSVpvf(
+ sv = sv_2mortal(Perl_newSVpvf(
"Unexpected return type %d while processing $package_sprintf_safe macro %s, used",
type, s));
PUSHs(sv);
--- ext/Data-Dumper/Dumper.xs 2009-06-11 02:42:23.000000000 +1000
+++ ext/Data-Dumper/Dumper.xs 2021-04-21 18:19:32.548468344 +1000
@@ -312,7 +312,7 @@
{
dSP; ENTER; SAVETMPS; PUSHMARK(sp);
XPUSHs(val); PUTBACK;
- i = perl_call_method(SvPVX_const(freezer), G_EVAL|G_VOID);
+ i = call_method(SvPVX_const(freezer), G_EVAL|G_VOID);
SPAGAIN;
if (SvTRUE(ERRSV))
warn("WARNING(Freezer method call failed): %"SVf"", ERRSV);
@@ -515,7 +515,7 @@
SV * const ixsv = newSViv(0);
/* allowing for a 24 char wide array index */
- New(0, iname, namelen+28, char);
+ Newx(iname, namelen+28, char);
(void)strcpy(iname, name);
inamelen = namelen;
if (name[0] == '@') {
@@ -660,7 +660,7 @@
if (sortkeys != &PL_sv_yes) {
dSP; ENTER; SAVETMPS; PUSHMARK(sp);
XPUSHs(sv_2mortal(newRV_inc(ival))); PUTBACK;
- i = perl_call_sv(sortkeys, G_SCALAR | G_EVAL);
+ i = call_sv(sortkeys, G_SCALAR | G_EVAL);
SPAGAIN;
if (i) {
sv = POPs;
@@ -745,7 +745,7 @@
}
else {
nticks = num_q(key, klen);
- New(0, nkey_buffer, klen+nticks+3, char);
+ Newx(nkey_buffer, klen+nticks+3, char);
nkey = nkey_buffer;
nkey[0] = '\'';
if (nticks)
@@ -772,7 +772,7 @@
char *extra;
I32 elen = 0;
newapad = newSVsv(apad);
- New(0, extra, klen+4+1, char);
+ Newx(extra, klen+4+1, char);
while (elen < (klen+4))
extra[elen++] = ' ';
extra[elen] = '\0';
@@ -829,7 +829,7 @@
char *npack;
char *npack_buffer = NULL;
- New(0, npack_buffer, plen+pticks+1, char);
+ Newx(npack_buffer, plen+pticks+1, char);
npack = npack_buffer;
plen += esc_q(npack, realpack, plen);
npack[plen] = '\0';
@@ -903,7 +903,7 @@
if (len > 10) {
/* Looks like we're on a 64 bit system. Make it a string so that
if a 32 bit system reads the number it will cope better. */
- sv_catpvf(retval, "'%s'", tmpbuf);
+ Perl_sv_catpvf(retval, "'%s'", tmpbuf);
} else
sv_catpvn(retval, tmpbuf, len);
}
@@ -1036,7 +1036,7 @@
if (!SvROK(href)) { /* call new to get an object first */
if (items < 2)
- croak("Usage: Data::Dumper::Dumpxs(PACKAGE, VAL_ARY_REF, [NAME_ARY_REF])");
+ Perl_croak_nocontext("Usage: Data::Dumper::Dumpxs(PACKAGE, VAL_ARY_REF, [NAME_ARY_REF])");
ENTER;
SAVETMPS;
@@ -1047,7 +1047,7 @@
if (items >= 3)
XPUSHs(sv_2mortal(newSVsv(ST(2))));
PUTBACK;
- i = perl_call_method("new", G_SCALAR);
+ i = call_method("new", G_SCALAR);
SPAGAIN;
if (i)
href = newSVsv(POPs);
@@ -1234,7 +1234,7 @@
SvREFCNT_dec(valstr);
}
else
- croak("Call to new() method failed to return HASH ref");
+ Perl_croak_nocontext("Call to new() method failed to return HASH ref");
if (gimme == G_SCALAR)
XPUSHs(sv_2mortal(retval));
}