[source] tar = "https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.xz" blake3 = "9dd90be8df4d0474b941e2ca14ac76d11b7ccb46edb26344b60d866178bbcc98" [build] template = "custom" script = """ DYNAMIC_INIT export ac_cv_func___fseterr=yes # Gnulib cross-compilation: relibc has standard POSIX headers and types # but gnulib's configure can't run test programs during cross-compilation. # Without these, gnulib generates broken #define fallbacks and replacement headers. # Standard headers (gnulib can't detect these when cross-compiling) export ac_cv_header_stdio_h=yes export ac_cv_header_stdlib_h=yes export ac_cv_header_string_h=yes export ac_cv_header_strings_h=yes export ac_cv_header_inttypes_h=yes export ac_cv_header_stdint_h=yes export ac_cv_header_unistd_h=yes export ac_cv_header_sys_types_h=yes export ac_cv_header_sys_stat_h=yes export ac_cv_header_time_h=yes export ac_cv_header_sys_time_h=yes export ac_cv_header_sys_select_h=yes export ac_cv_header_wchar_h=yes export ac_cv_header_wctype_h=yes export ac_cv_header_signal_h=yes export ac_cv_header_dirent_h=yes export ac_cv_header_fcntl_h=yes export ac_cv_header_locale_h=yes export ac_cv_header_errno_h=yes export ac_cv_header_ctype_h=yes export ac_cv_header_limits_h=yes export ac_cv_header_stdarg_h=yes export ac_cv_header_stddef_h=yes export ac_cv_header_math_h=yes export ac_cv_header_spawn_h=yes export gl_cv_header_inttypes_h=yes export gl_cv_header_stdint_h=yes export gl_cv_header_inttypes_h_with_uintmax=yes export ac_cv_have_inttypes_h_with_uintmax=yes # Standard types (gnulib generates broken fallbacks without these) export ac_cv_type_intmax_t=yes export ac_cv_type_uintmax_t=yes export ac_cv_type_gid_t=yes export ac_cv_type_uid_t=yes export ac_cv_type_pid_t=yes export ac_cv_type_mode_t=yes export ac_cv_type_off_t=yes export ac_cv_type_size_t=yes export ac_cv_type_ssize_t=yes export ac_cv_type_ptrdiff_t=yes export ac_cv_type_nlink_t=yes export ac_cv_type_mbstate_t=yes export gl_cv_type_intmax_t=yes export gl_cv_type_ptrdiff_t_signed=yes export gl_cv_header_inttypes_h_with_uintmax=yes export ac_cv_have_inttypes_h_with_uintmax=yes # Spawn functions (relibc provides these via the P3-spawn patch) export gl_cv_func_spawn_posix_spawn=yes export gl_cv_func_spawn_posix_spawnp=yes export ac_cv_func_posix_spawn=yes export ac_cv_func_posix_spawnp=yes export ac_cv_func_posix_spawn_file_actions_init=yes export ac_cv_func_posix_spawn_file_actions_destroy=yes export ac_cv_func_posix_spawn_file_actions_addopen=yes export ac_cv_func_posix_spawn_file_actions_addclose=yes export ac_cv_func_posix_spawn_file_actions_adddup2=yes export ac_cv_func_posix_spawnattr_init=yes export ac_cv_func_posix_spawnattr_destroy=yes export ac_cv_func_posix_spawnattr_setflags=yes export ac_cv_func_posix_spawnattr_getflags=yes export ac_cv_func_posix_spawnattr_setsigmask=yes export ac_cv_func_posix_spawnattr_getsigmask=yes # Other functions export ac_cv_func_getpagesize=yes export ac_cv_func_memcmp_working=yes export ac_cv_func_mmap_fixed_mapped=yes # Spawn types export ac_cv_type_posix_spawnattr_t=yes export ac_cv_type_posix_spawn_file_actions_t=yes COOKBOOK_CONFIGURE_FLAGS+=( --disable-nls ) # Cross-compilation fix: run configure manually, then patch the # generated Makefile to use host bison instead of the cross-compiled # wrapper. The generated Makefile hardcodes # BISON = $(top_builddir)/tests/bison # which wraps the x86_64-unknown-redox binary — unrunnable on the host. "${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" sed -i 's|^BISON = .*|BISON = /usr/bin/bison|' "${COOKBOOK_BUILD}/Makefile" # Fix gnulib cross-compilation misdetections in config.h "${COOKBOOK_ROOT}/local/scripts/gnulib-cross-fix.sh" "${COOKBOOK_BUILD}/lib/config.h" "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" "${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}" """ [package] description = "GNU parser generator (yacc-compatible)" dependencies = ["m4"]