shoober420 Apprentice
Joined: 22 May 2017 Posts: 223
|
Posted: Tue May 11, 2021 6:19 pm Post subject: [solved] nspr-9999: no configure script found |
|
|
Ive tried everything i can think of to get this to work. This package uses configure.in, so i dont know if thats one of the reasons its having issues. If i manually run "./configure || die" under "src_prepare", it will get a little further, but then cant find the configure script when building the 32bit package. If i try "./configure.ac || die", it says permission denied. The build system will just not find the configure scripts, and they are for sure in the "${WORKDIR}/${PN}-${PV}" folder, and the ebuild directs to them as such. Heres the ebuild and log.
ebuild:
Code: |
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools toolchain-funcs multilib-minimal
MIN_PV="$(ver_cut 2)"
DESCRIPTION="Netscape Portable Runtime"
HOMEPAGE="https://www.mozilla.org/projects/nspr/"
if [[ ${PV} == 9999 ]]; then
inherit mercurial
EHG_REPO_URI="https://hg.mozilla.org/projects/${PN}"
fi
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris ~x86-solaris"
IUSE="debug elibc_musl"
MULTILIB_CHOST_TOOLS=(
/usr/bin/nspr-config
)
S="${WORKDIR}/${PN}-${PV}"
PATCHES=(
"${FILESDIR}"/${PN}-4.23-prtime.patch
"${FILESDIR}"/${PN}-4.7.1-solaris.patch
"${FILESDIR}"/${PN}-4.10.6-solaris.patch
"${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
"${FILESDIR}"/${PN}-4.8.9-link-flags.patch
# We do not need to pass -L$libdir via nspr-config --libs
"${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
)
src_prepare() {
# cd "${S}"/nspr || die
default
use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
# rename configure.in to configure.ac for new autotools compatibility
if [[ -e "${S}"/configure.in ]] ; then
einfo "Renaming configure.in to configure.ac"
mv "${S}"/configure.{in,ac} || die
else
elog "configure.in rename logic can be removed from ebuild."
fi
# We must run eautoconf to regenerate configure
# eautoconf
eautoreconf
# make sure it won't find Perl out of Prefix
sed -i -e "s/perl5//g" "${S}"/configure || die
# Respect LDFLAGS
sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
"${S}"/config/rules.mk || die
}
multilib_src_configure() {
# We use the standard BUILD_xxx but nspr uses HOST_xxx
tc-export_build_env BUILD_CC
export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
tc-export AR CC CXX RANLIB
[[ ${CBUILD} != ${CHOST} ]] \
&& export CROSS_COMPILE=1 \
|| unset CROSS_COMPILE
local myconf=(
--libdir="${EPREFIX}/usr/$(get_libdir)"
$(use_enable debug)
$(use_enable !debug optimize)
)
# The configure has some fancy --enable-{{n,x}32,64bit} switches
# that trigger some code conditional to platform & arch. This really
# matters for the few common arches (x86, ppc) but we pass a little
# more of them to be future-proof.
# use ABI first, this will work for most cases
case "${ABI}" in
alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
n32) myconf+=( --enable-n32 );;
x32) myconf+=( --enable-x32 );;
s390x|*64) myconf+=( --enable-64bit );;
default) # no abi actually set, fall back to old check
einfo "Running a short build test to determine 64bit'ness"
echo > "${T}"/test.c || die
${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
case $(file "${T}"/test.o) in
*32-bit*x86-64*) myconf+=( --enable-x32 );;
*64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
*32-bit*|*ppc*|*i386*) ;;
*) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
esac ;;
*) ;;
esac
# Ancient autoconf needs help finding the right tools.
LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
ac_cv_path_AR="${AR}" \
econf "${myconf[@]}"
}
multilib_src_install() {
# Their build system is royally confusing, as usual
MINOR_VERSION=${MIN_PV} # Used for .so version
emake DESTDIR="${D}" install
einfo "removing static libraries as upstream has requested!"
rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
# install nspr-config
dobin config/nspr-config
# Remove stupid files in /usr/bin
rm "${ED}"/usr/bin/prerr.properties || die
# This is used only to generate prerr.c and prerr.h at build time.
# No other projects use it, and we don't want to depend on perl.
# Talked to upstream and they agreed w/punting.
rm "${ED}"/usr/bin/compile-et.pl || die
}
|
build log:
Code: |
$ doas emerge -av --autounmask =dev-libs/nspr-9999
These are the packages that would be merged, in order:
Calculating dependencies
* IMPORTANT: 9 news items need reading for repository 'gentoo'.
* Use eselect news read to view new items.
* Digest verification failed:
* /var/db/repos/localrepo/dev-libs/gmp/gmp-9999.ebuild
* Reason: Filesize does not match recorded size
* Got: 2736
* Expected: 2857
... done!
[ebuild U ] dev-libs/nspr-9999::localrepo [4.30::gentoo] USE="-debug" ABI_X86="32 (64) (-x32)" 0 KiB
Total: 1 package (1 upgrade), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No]
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) dev-libs/nspr-9999::localrepo
>>> Unpacking source...
* Updating /var/cache/distfiles/hg-src/nspr/nspr from https://hg.mozilla.org/projects/nspr
pulling from https://hg.mozilla.org/projects/nspr
searching for changes
no changes found
* Creating working directory in /var/tmp/portage/dev-libs/nspr-9999/work/nspr-9999 (target revision: default)
updating to branch default
611 files updated, 0 files merged, 0 files removed, 0 files unresolved
* Work directory: /var/tmp/portage/dev-libs/nspr-9999/work/nspr-9999 global id: afc10f9c1309 (was default branch: default
>>> Source unpacked in /var/tmp/portage/dev-libs/nspr-9999/work
>>> Preparing source in /var/tmp/portage/dev-libs/nspr-9999/work/nspr-9999 ...
* Applying nspr-4.23-prtime.patch ...
[ ok ]
* Applying nspr-4.7.1-solaris.patch ...
patching file pr/src/Makefile.in
Hunk #1 succeeded at 55 with fuzz 2 (offset -40 lines).
[ ok ]
* Applying nspr-4.10.6-solaris.patch ...
[ ok ]
* Applying nspr-4.8.4-darwin-install_name.patch ...
patching file configure.in
Hunk #1 succeeded at 1346 with fuzz 2 (offset 339 lines).
patching file configure
Hunk #1 succeeded at 6483 with fuzz 2 (offset 5476 lines).
[ ok ]
* Applying nspr-4.8.9-link-flags.patch ...
patching file config/autoconf.mk.in
Hunk #1 succeeded at 90 (offset 9 lines).
patching file config/config.mk
Hunk #1 succeeded at 40 with fuzz 1 (offset -32 lines).
[ ok ]
* Applying nspr-4.9.5_nspr_config.patch ...
[ ok ]
* Renaming configure.in to configure.ac
* Running eautoreconf in '/var/tmp/portage/dev-libs/nspr-9999/work/nspr-9999' ...
* Running 'aclocal' ...
[ ok ]
* Running 'autoconf --force' ...
[ ok ]
* Running elibtoolize in: nspr-9999/
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-libs/nspr-9999/work/nspr-9999 ...
* abi_x86_32.x86: running multilib-minimal_abi_src_configure
* ERROR: dev-libs/nspr-9999::localrepo failed (configure phase):
* no configure script found
*
* Call stack:
* ebuild.sh, line 125: Called src_configure
* environment, line 2264: Called multilib-minimal_src_configure
* environment, line 1666: Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
* environment, line 1919: Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
* environment, line 1596: Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
* environment, line 1594: Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
* environment, line 459: Called multilib-minimal_abi_src_configure
* environment, line 1660: Called multilib_src_configure
* environment, line 2172: Called econf '--libdir=/usr/lib' '--disable-debug' '--enable-optimize'
* phase-helpers.sh, line 686: Called die
* The specific snippet of code:
* die "no configure script found"
*
* If you need support, post the output of `emerge --info '=dev-libs/nspr-9999::localrepo'`,
* the complete build log and the output of `emerge -pqv '=dev-libs/nspr-9999::localrepo'`.
* The complete build log is located at '/var/tmp/portage/dev-libs/nspr-9999/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-libs/nspr-9999/temp/environment'.
* Working directory: '/var/tmp/portage/dev-libs/nspr-9999/work/nspr-9999-abi_x86_32.x86'
* S: '/var/tmp/portage/dev-libs/nspr-9999/work/nspr-9999'
>>> Failed to emerge dev-libs/nspr-9999, Log file:
>>> '/var/tmp/portage/dev-libs/nspr-9999/temp/build.log'
* Messages for package dev-libs/nspr-9999:
* ERROR: dev-libs/nspr-9999::localrepo failed (configure phase):
* no configure script found
*
* Call stack:
* ebuild.sh, line 125: Called src_configure
* environment, line 2264: Called multilib-minimal_src_configure
* environment, line 1666: Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
* environment, line 1919: Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
* environment, line 1596: Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
* environment, line 1594: Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
* environment, line 459: Called multilib-minimal_abi_src_configure
* environment, line 1660: Called multilib_src_configure
* environment, line 2172: Called econf '--libdir=/usr/lib' '--disable-debug' '--enable-optimize'
* phase-helpers.sh, line 686: Called die
* The specific snippet of code:
* die "no configure script found"
*
* If you need support, post the output of `emerge --info '=dev-libs/nspr-9999::localrepo'`,
* the complete build log and the output of `emerge -pqv '=dev-libs/nspr-9999::localrepo'`.
* The complete build log is located at '/var/tmp/portage/dev-libs/nspr-9999/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-libs/nspr-9999/temp/environment'.
* Working directory: '/var/tmp/portage/dev-libs/nspr-9999/work/nspr-9999-abi_x86_32.x86'
* S: '/var/tmp/portage/dev-libs/nspr-9999/work/nspr-9999'
|
Last edited by shoober420 on Wed May 12, 2021 3:57 am; edited 1 time in total |
|