Created attachment 286929 [details] aria2-1.10.0.ebuild ebuild in this port tries to pass arguments to configure script in wrong way. For example, to specify path to find OpenSSL, it passes "--with-openssl=${EPREFIX}/usr/lib" argument while script expects two separate arguments "--with-openssl --with-openssl-prefix=${EPREFIX}". I tried to fix it, it worked, but still needs polishing. My ebuild is in attachment. I also noticed that list of enabled functions after configure still does not correspond to list of USE flags.
Hello! (In reply to comment #0) > ebuild in this port tries to pass arguments to configure script in wrong way. > For example, to specify path to find OpenSSL, it passes > "--with-openssl=${EPREFIX}/usr/lib" argument while script expects two separate > arguments "--with-openssl --with-openssl-prefix=${EPREFIX}". Is there a specific error that you get without the patch, anythig that we can test against? > I tried to fix it, it worked, but still needs polishing. My ebuild is in > attachment. Thanks. In the future, please attached patches rather than ebuilds. Thanks! > I also noticed that list of enabled functions after configure still does not > correspond to list of USE flags. I'm not sure what you mean by that. could you explain in more detail, please?
The parameters are indeed --openssl-prefix=... (same for others), see './configure --help' output: Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-cppunit-prefix=PFX Prefix where CppUnit is installed (optional) --with-cppunit-exec-prefix=PFX Exec prefix where CppUnit is installed (optional) --with-gnutls Use gnutls if it is installed. --with-libnettle Use libnettle if it is installed. --with-libgmp Use libgmp if it is installed. --with-libgcrypt Use libgcrypt if it is installed. --with-openssl Use openssl if it is installed. --with-sqlite3 Use sqlite3 if it is installed. --with-libxml2 Use libxml2 if it is installed. --with-libexpat Use libexpat if it is installed. --with-libcares Use libcares if it is installed. --with-libz Use libz if it is installed. --with-ca-bundle=FILE Use FILE as default CA bundle. --with-xml-prefix=PFX Prefix where libxml is installed (optional) --with-xml-exec-prefix=PFX Exec prefix where libxml is installed (optional) --with-libexpat-prefix=PREFIX Prefix where libexpat installed (optional) --with-sqlite3-prefix=PREFIX Prefix where SQLite3 installed (optional) --with-openssl-prefix=PREFIX Prefix where OpenSSL installed (optional) --with-libgcrypt-prefix=PFX prefix where LIBGCRYPT is installed (optional) --with-libcares-prefix=PREFIX Prefix where libcares installed (optional) --with-libz-prefix=PREFIX Prefix where zlib installed (optional) --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libpth-prefix[=DIR] search for libpth in DIR/include and DIR/lib --without-libpth-prefix don't search for libpth in includedir and libdir --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-included-gettext use the GNU gettext library included here --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir @prefix-guys: your turn, I don't have a prefix system
Sorry for delay. Long New Year holidays was here. (In reply to comment #1) > Hello! > > (In reply to comment #0) > > ebuild in this port tries to pass arguments to configure script in wrong way. > > For example, to specify path to find OpenSSL, it passes > > "--with-openssl=${EPREFIX}/usr/lib" argument while script expects two separate > > arguments "--with-openssl --with-openssl-prefix=${EPREFIX}". > > Is there a specific error that you get without the patch, anythig that we can > test against? > When I try to emerge aria2-1.10.0 with flags: USE="bittorrent metalink nls ssl -ares -expat -gnutls -scripts -sqlite -test -xmlrpc" , I get error on configure phase: configure: error: bittorrent is requested but cannot be enabled with current configuration. Make sure that dependent libraries are installed and configure script options are correct. It's caused by absence of SSL library since there was bad parameters passed to configure script ("--with-openssl=/Gentoo/usr/lib" instead of "--with-openssl --with-openssl-prefix=/Gentoo") > > > I tried to fix it, it worked, but still needs polishing. My ebuild is in > > attachment. > > Thanks. In the future, please attached patches rather than ebuilds. Thanks! > Was too lazy. Sorry, won't happen again :) > > > I also noticed that list of enabled functions after configure still does not > > correspond to list of USE flags. > > I'm not sure what you mean by that. could you explain in more detail, please? My ebuild manages to emerge aria2, but with wrong set of features. With the same USE-flags: USE="bittorrent metalink nls ssl -ares -expat -gnutls -scripts -sqlite -test -xmlrpc" configure script is started with parameters: ./configure --prefix=/Gentoo/usr --build=x86_64-apple-darwin9 --host=x86_64-apple-darwin9 --mandir=/Gentoo/usr/share/man --infodir=/Gentoo/usr/share/info --datadir=/Gentoo/usr/share --sysconfdir=/Gentoo/etc --localstatedir=/Gentoo/var/lib --enable-epoll --enable-threads=posix --with-libz --enable-nls --enable-metalink --without-sqlite3 --enable-bittorrent --without-libcares --without-libexpat --with-libxml2 --without-gnutls --with-openssl --with-openssl-prefix=/Gentoo and the final set of features are: Build: x86_64-apple-darwin9 Target: x86_64-apple-darwin9 Install prefix: /Gentoo/usr CXXFLAGS: -O2 -pipe -march=nocona CFLAGS: -O2 -pipe -march=nocona CPPFLAGS: -I/Gentoo/usr/include -I/Gentoo/usr/include -I/Gentoo/usr/include/libxml2 LDFLAGS: -Wl,-dead_strip_dylibs LIBS: -L/Gentoo/usr/lib -lz -L/Gentoo/usr/lib -lssl -lcrypto -lz -L/Gentoo/usr/lib -lxml2 -lz -lpthread -liconv -lm DEFS: -DHAVE_CONFIG_H SQLite3: GnuTLS: OpenSSL: yes CA Bundle: LibXML2: yes LibExpat: LibCares: Zlib: yes Epoll: Bittorrent: yes Metalink: yes XML-RPC: yes XML-RPC is on despite of turned off USE-flag.
First the prefix overlay needs to be synced (updated) to match gentoo-x86.
I synced, then committed this diff: --- aria2-1.14.1.ebuild (revision 60314) +++ aria2-1.14.1.ebuild (working copy) @@ -59,11 +59,13 @@ src_configure() { local myconf="--without-gnutls --without-openssl" use ssl && \ - myconf="$(use_with gnutls) $(use_with !gnutls openssl "${EPREFIX}"/usr/$(get_libdir))" + myconf="$(use_with gnutls) \ + $(use_with !gnutls openssl) \ + $(use_with !gnutls openssl-prefix "${EPREFIX}")" local xmllib="--without-libexpat --without-libxml2" if use metalink || use xmlrpc ; then - xmllib="$(use_with expat libexpat "${EPREFIX}"/usr/$(get_libdir)) $(use_with !expat libxml2)" + xmllib="$(use_with expat libexpat) $(use_with expat libexpat-prefix "${EPREFIX}") $(use_with !expat libxml2)" fi use doc || export ac_cv_path_ASCIIDOC= @@ -81,9 +83,11 @@ --with-libz \ $(use_enable nls) \ $(use_enable metalink) \ - $(use_with sqlite sqlite3 "${EPREFIX}"/usr/$(get_libdir)) \ + $(use_with sqlite sqlite3) \ + $(use_with sqlite sqlite3-prefix "${EPREFIX}") \ $(use_enable bittorrent) \ $(use_with ares libcares "${EPREFIX}"/usr/$(get_libdir)) \ + $(use_with ares libcares-prefix "${EPREFIX}") \ --without-libnettle --without-libgmp \ ${xmllib} \ ${myconf}
Well, --with-libgcrypt-prefix=... is probably also needed when using gnutls instead of openssl. I just added the "--with-libgcrypt" to make it obvious (wouldn't be needed as the gcrypt-dep only is being used when gnutls is selected), but for prefix it's probably more important.
Seems to no longer apply to current versions.