diff --git a/patches/autoconf/jinx-working-patch.patch b/patches/autoconf/jinx-working-patch.patch new file mode 100644 index 00000000..77bdb9a3 --- /dev/null +++ b/patches/autoconf/jinx-working-patch.patch @@ -0,0 +1,13 @@ +diff --git autoconf-clean/build-aux/config.sub autoconf-workdir/build-aux/config.sub +index 59bb593..0f608e9 100755 +--- autoconf-clean/build-aux/config.sub ++++ autoconf-workdir/build-aux/config.sub +@@ -1343,7 +1343,7 @@ case $os in + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. +- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ ++ -gnu* | -astral* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ diff --git a/patches/m4/jinx-working-patch.patch b/patches/m4/jinx-working-patch.patch new file mode 100644 index 00000000..7da84b9f --- /dev/null +++ b/patches/m4/jinx-working-patch.patch @@ -0,0 +1,52 @@ +diff --git m4-clean/lib/getlocalename_l-unsafe.c m4-workdir/lib/getlocalename_l-unsafe.c +index 66b2c74..593e2a0 100644 +--- m4-clean/lib/getlocalename_l-unsafe.c ++++ m4-workdir/lib/getlocalename_l-unsafe.c +@@ -473,7 +473,7 @@ getlocalename_l_unsafe (int category, locale_t locale) + struct gl_locale_category_t *plc = + &locale->category[gl_log2_lcmask_to_index (gl_log2_lc_mask (category))]; + return (struct string_with_storage) { plc->name, STORAGE_OBJECT }; +-#elif __GLIBC__ >= 2 && !defined __UCLIBC__ ++#elif (__GLIBC__ >= 2 && !defined __UCLIBC__) + /* Work around an incorrect definition of the _NL_LOCALE_NAME macro in + glibc < 2.12. + See . */ +@@ -668,7 +668,9 @@ getlocalename_l_unsafe (int category, locale_t locale) + }; + const char *name = ((struct __locale_t *) locale)->mb_cur_max == 4 ? "C.UTF-8" : "C"; + return (struct string_with_storage) { name, STORAGE_INDEFINITE }; +-#else ++#elif defined(__astral__) ++ abort(); ++#elif + #error "Please port gnulib getlocalename_l-unsafe.c to your platform! Report this to bug-gnulib." + #endif + } +diff --git m4-clean/lib/localename-unsafe.c m4-workdir/lib/localename-unsafe.c +index a058281..fc46925 100644 +--- m4-clean/lib/localename-unsafe.c ++++ m4-workdir/lib/localename-unsafe.c +@@ -2616,6 +2616,10 @@ get_lcid (const char *locale_name) + const char * + gl_locale_name_thread_unsafe (int category, _GL_UNUSED const char *categoryname) + { ++ ++#ifdef __astral__ ++ return NULL; ++#endif + if (category == LC_ALL) + /* Invalid argument. */ + abort (); +diff --git m4-clean/lib/wchar.in.h m4-workdir/lib/wchar.in.h +index 8836ed1..eba3531 100644 +--- m4-clean/lib/wchar.in.h ++++ m4-workdir/lib/wchar.in.h +@@ -191,7 +191,7 @@ + /* mingw and MSVC define wint_t as 'unsigned short' in or + . This is too small: ISO C 99 section 7.24.1.(2) says that + wint_t must be "unchanged by default argument promotions". Override it. */ +-# if @GNULIBHEADERS_OVERRIDE_WINT_T@ ++# if 0 + # if !GNULIB_defined_wint_t + # if @HAVE_CRTDEFS_H@ + # include diff --git a/recipes/autoconf b/recipes/autoconf new file mode 100644 index 00000000..238c944a --- /dev/null +++ b/recipes/autoconf @@ -0,0 +1,20 @@ +name=autoconf +revision=1 +from_source=autoconf +imagedeps="gcc" +deps="perl" + +configure() { + cp -rp ${source_dir}/* . + cp -rp ${source_dir}/.* . + + ./configure --prefix=${prefix} --host=x86_64-astral +} + +build() { + make -j${parallelism} +} + +package() { + make install DESTDIR="${dest_dir}" +} diff --git a/recipes/automake b/recipes/automake new file mode 100644 index 00000000..96789b67 --- /dev/null +++ b/recipes/automake @@ -0,0 +1,18 @@ +name=automake +revision=1 +from_source=automake +imagedeps="gcc" +hostdeps="autoconf" +deps="perl" + +configure() { + ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral +} + +build() { + make -j${parallelism} +} + +package() { + DESTDIR="${dest_dir}" make install +} diff --git a/recipes/m4 b/recipes/m4 new file mode 100644 index 00000000..9f1283ef --- /dev/null +++ b/recipes/m4 @@ -0,0 +1,21 @@ +name=m4 +revision=1 +from_source=m4 +imagedeps="build-essential" +hostdeps="xgcc xbinutils automake autoconf" +deps="base" + +configure() { + cp -rp ${source_dir}/* . + cp -rp ${source_dir}/.* . + + ./configure --host=x86_64-astral --prefix=${prefix} +} + +build() { + make -j ${parallelism} +} + +package() { + make install DESTDIR=${dest_dir} +} diff --git a/source-recipes/m4 b/source-recipes/m4 new file mode 100644 index 00000000..24ba4d40 --- /dev/null +++ b/source-recipes/m4 @@ -0,0 +1,10 @@ +name=m4 +version=1.4.20 +source_method=tarball +tarball_url="https://ftp.gnu.org/gnu/m4/m4-${version}.tar.gz" +tarball_sha512="0db92e37b984bcac0e640bccb9d3463757793b1fef665601f6d8052906d1ed26078af37c751e3e0cd9ee8d9ff165e51cfe9560422a5b3559f4b58de446b7429c" +hostdeps="automake" + +prepare() { + cp -v $(find /usr/local/share/automake* -name config.sub) build-aux +}