Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Oct 2015 19:31:07 +0000
From:      bugzilla-noreply@freebsd.org
To:        ruby@FreeBSD.org
Subject:   maintainer-feedback requested: [Bug 203988] lang/ruby21 - readline & libedit configure options spelled wrong
Message-ID:  <bug-203988-21402-DCG9W0Gq4s@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-203988-21402@https.bugs.freebsd.org/bugzilla/>
References:  <bug-203988-21402@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
John Hein <z7dr6ut7gs@snkmail.com> has reassigned Bugzilla Automation
<bugzilla@FreeBSD.org>'s request for maintainer-feedback to ruby@FreeBSD.or=
g:
Bug 203988: lang/ruby21 - readline & libedit configure options spelled wrong
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D203988



--- Description ---
Created attachment 162400
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D162400&action=
=3Dedit
[patch] fix --with-libedit/readline* configuration arg spellings and enable
them for libedit in the readline module's extconf.rb

The --with-readline-prefix and --with-libedit-prefix configure arguments are
spelled wrong.	They should be --with-readline-dir and --with-libedit-dir.  =
See
dir_config() inlib/mkmf.rb

It's just luck in the normal default case that the ports do the right thing
now.  You could spell them --with-libedit-flibberjam=3D${LOCALBASE} and it =
would
still work (in the default case).  Because -I/usr/local/include is added for
other reasons and normally /usr/local (LOCALBASE) is where the readline and
libedit ports are installed.

For instance, if you select the LIBEDIT option and have devel/libedit insta=
lled
to a different prefix than LOCALBASE, then setting
--with-libedit-prefix=3D<that_prefix> (you have to change the current port
Makefile to test that since it's hard-coded to ${LOCALBASE} instead of the
results from 'pkgconf --variable prefix libedit') will fail to find the rig=
ht
libedit and you'll get issues like this because the ruby build finds and us=
es
the libedit from base:

compiling readline.c
readline.c: In function 'history_get_offset_history_base':
readline.c:1573: error: 'history_base' undeclared (first use in this functi=
on)
readline.c:1573: error: (Each undeclared identifier is reported only once
readline.c:1573: error: for each function it appears in.)
readline.c: In function 'hist_get':
readline.c:1585: error: 'HIST_ENTRY' undeclared (first use in this function)
readline.c:1585: error: 'entry' undeclared (first use in this function)
readline.c:1590: error: 'history_length' undeclared (first use in this
function)
readline.c: In function 'hist_set':
readline.c:1605: error: 'HIST_ENTRY' undeclared (first use in this function)
 .
 .

Furthermore, I believe there's a bug in ext/readline/extconf.rb in the libe=
dit
case where the --with-libedit* feature is not turned on - it needs
'dir_config("libedit")'.  That part of the attached patch can be submitted
upstream.  I'll try to do that if no one else beats me to it.

This bug is something of a nitpick since everything works in the default
everything-in-/usr/local case now.  But the configure option is definitely
spelled wrong.	And those --with-libedit* knobs need to be enabled in
readline/extconf.rb for libedit.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-203988-21402-DCG9W0Gq4s>