Bug 271434 - devel/rubygem-readline-ext: Mark BROKEN with Ruby 3.3
Summary: devel/rubygem-readline-ext: Mark BROKEN with Ruby 3.3
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Po-Chuan Hsieh
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-05-15 11:41 UTC by Yasuhiro Kimura
Modified: 2023-06-05 19:43 UTC (History)
0 users

See Also:
sunpoet: maintainer-feedback?


Attachments
Patch file (4.60 KB, patch)
2023-05-15 11:41 UTC, Yasuhiro Kimura
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yasuhiro Kimura freebsd_committer freebsd_triage 2023-05-15 11:41:29 UTC
Created attachment 242190 [details]
Patch file

ext/readline is removed from Ruby 3.3 and lang/ruby33 doesn't depend
on readline/libedit anymore. As a result build of this port fails with
Ruby 3.3 as following.

=======================<phase: stage          >============================
===>  Staging for rubygem-readline-ext-0.1.5
===>   rubygem-readline-ext-0.1.5 depends on file: /usr/local/bin/ruby33 - found
===>   rubygem-readline-ext-0.1.5 depends on file: /usr/local/bin/gem - found
===>   Generating temporary packing list
(cd /wrkdirs/usr/ports/devel/rubygem-readline-ext/work/readline-ext-0.1.5; /usr/bin/env RB_USER_INSTALL=yes LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 /usr/local/bin/gem install -l --no-update-sources --install-dir /wrkdirs/usr/ports/devel/rubygem-readline-ext/work/stage/usr/local/lib/ruby/gems/3.3 --ignore-dependencies --bindir=/wrkdirs/usr/ports/devel/rubygem-readline-ext/work/stage/usr/local/bin --no-document readline-ext-0.1.5.gem -- )
Building native extensions. This could take a while...
ERROR:  Error installing readline-ext-0.1.5.gem:
        ERROR: Failed to build gem native extension.

    current directory: /wrkdirs/usr/ports/devel/rubygem-readline-ext/work/stage/usr/local/lib/ruby/gems/3.3/gems/readline-ext-0.1.5/ext/readline
/usr/local/bin/ruby33 extconf.rb
checking for tgetnum() in -lncurses... yes
checking for readline/readline.h... no
checking for editline/readline.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/local/bin/$(RUBY_BASE_NAME)33
        --with-curses-dir
        --without-curses-dir
        --with-curses-include
        --without-curses-include=${curses-dir}/include
        --with-curses-lib
        --without-curses-lib=${curses-dir}/lib
        --with-ncurses-dir
        --without-ncurses-dir
        --with-ncurses-include
        --without-ncurses-include=${ncurses-dir}/include
        --with-ncurses-lib
        --without-ncurses-lib=${ncurses-dir}/lib
        --with-termcap-dir
        --without-termcap-dir
        --with-termcap-include
        --without-termcap-include=${termcap-dir}/include
        --with-termcap-lib
        --without-termcap-lib=${termcap-dir}/lib
        --with-readline-dir
        --without-readline-dir
        --with-readline-include
        --without-readline-include=${readline-dir}/include
        --with-readline-lib
        --without-readline-lib=${readline-dir}/lib
        --enable-libedit
        --disable-libedit
        --with-ncurseslib
        --without-ncurseslib
        --with-editline-dir
        --without-editline-dir
        --with-editline-include
        --without-editline-include=${editline-dir}/include
        --with-editline-lib
        --without-editline-lib=${editline-dir}/lib
extconf.rb:62:in `<main>': Neither readline nor libedit was found (RuntimeError)

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /wrkdirs/usr/ports/devel/rubygem-readline-ext/work/stage/usr/local/lib/ruby/gems/3.3/extensions/amd64-freebsd-13/3.3/readline-ext-0.1.5/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /wrkdirs/usr/ports/devel/rubygem-readline-ext/work/stage/usr/local/lib/ruby/gems/3.3/gems/readline-ext-0.1.5 for inspection.
Results logged to /wrkdirs/usr/ports/devel/rubygem-readline-ext/work/stage/usr/local/lib/ruby/gems/3.3/extensions/amd64-freebsd-13/3.3/readline-ext-0.1.5/gem_make.out
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/rubygem-readline-ext

I tried to fix it but couldn't. So mark this port BROKEN with Ruby 3.3
for now.
Comment 1 Po-Chuan Hsieh freebsd_committer freebsd_triage 2023-05-28 00:34:38 UTC
It can be fixed by adding the following lines to devel/rubygem-readline-ext/Makefile.

OPTIONS_SINGLE= EDIT
OPTIONS_SINGLE_EDIT=    LIBEDIT READLINE
OPTIONS_DEFAULT=LIBEDIT

LIBEDIT_USES=           libedit
READLINE_USES=          readline
Comment 2 Po-Chuan Hsieh freebsd_committer freebsd_triage 2023-05-29 12:49:04 UTC
(In reply to Po-Chuan Hsieh from comment #1)

Before I post the comment, I did the change on wrong PR. I meant to change bug #271436.

(In reply to Yasuhiro Kimura from comment #0)

@yasu, could you please confirm if that works for you? Thanks.
Comment 3 commit-hook freebsd_committer freebsd_triage 2023-06-05 19:03:04 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d90e464352d31d4cafd78fb025b7bdd4f9a9b3c3

commit d90e464352d31d4cafd78fb025b7bdd4f9a9b3c3
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-06-05 18:44:23 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2023-06-05 18:48:56 +0000

    devel/rubygem-readline-ext: Allow build with Ruby 3.3+

    Do not bump PORTREVISION because the package dependencies are not changed.
    The default option follows lang/ruby3{0,1,2}.

    PR:             271434
    Reported by:    yasu

 devel/rubygem-readline-ext/Makefile | 7 +++++++
 1 file changed, 7 insertions(+)