[ruby-core:46485] [ruby-trunk - Feature #6735][Open] curses: support linking against pdcurses

2 views
Skip to first unread message

luislavena (Luis Lavena)

unread,
Jul 14, 2012, 8:36:58 PM7/14/12
to ruby...@ruby-lang.org

Issue #6735 has been reported by luislavena (Luis Lavena).

----------------------------------------
Feature #6735: curses: support linking against pdcurses
https://bugs.ruby-lang.org/issues/6735

Author: luislavena (Luis Lavena)
Status: Open
Priority: Normal
Assignee: shugo (Shugo Maeda)
Category: ext
Target version: 2.0.0


Hello,

On Windows, ncurses are not available. Instead we link against PDCurses when building RubyInstaller.

Except that we required rename linking library to libcurses so curses extension finds it.

I would like to ask curses extension supports pdcurses linking library.

Attached is a patch that allows linking against unmodified pdcurses linking library.

I would like to port this change also to 1.9.3 in order to standardize building RubyInstaller.

Thank you


--
http://bugs.ruby-lang.org/

ThomasDickey (Thomas dickey)

unread,
Jul 15, 2012, 6:44:16 AM7/15/12
to ruby...@ruby-lang.org

Issue #6735 has been updated by ThomasDickey (Thomas dickey).


Actually, ncurses is "available" for Windows in the sense that it builds and
works there, using MinGW.
http://invisible-island.net/ncurses/ncurses.faq.html#other_versions
But there are no downloads of binaries (unlike end-user programs such as
lynx and vile, developers generally are able to build their own libraries).
----------------------------------------
Feature #6735: curses: support linking against pdcurses
https://bugs.ruby-lang.org/issues/6735#change-28125

luislavena (Luis Lavena)

unread,
Jul 15, 2012, 9:31:11 AM7/15/12
to ruby...@ruby-lang.org

Issue #6735 has been updated by luislavena (Luis Lavena).

Status changed from Open to Assigned

ThomasDickey (Thomas dickey) wrote:
> Actually, ncurses is "available" for Windows in the sense that it builds and
> works there, using MinGW.
> http://invisible-island.net/ncurses/ncurses.faq.html#other_versions

Thank you for pointing that out.

Interesting that nothing about MinGW is mentioned in the official GNU ncurses page:

http://www.gnu.org/software/ncurses/

But is included in README.MinGW, which states a lot of TODO like Unicode, thread locking and other aspects.

Even by following the instructions and using the right tools, couldn't get a usable ncurses installation to work with, I believe still have some work to be done.

PDCurses has worked for us (RubyInstaller) and now that I'm working on x64 version of Ruby for Windows. The need to keep pdcurses *as is* is what pushes me to generate this request.

> But there are no downloads of binaries (unlike end-user programs such as
> lynx and vile, developers generally are able to build their own libraries).

While that statement might be good answer for some (build your own) is error prone and time consuming, if wasn't for binary packages installing a Linux distribution today would be tiresome.

In the case of Windows, binaries are for libraries and end user programs are highly valuable due the complexities of compiler toolchain and building those packages.

----------------------------------------
Feature #6735: curses: support linking against pdcurses
https://bugs.ruby-lang.org/issues/6735#change-28129

Author: luislavena (Luis Lavena)
Status: Assigned

ThomasDickey (Thomas dickey)

unread,
Jul 15, 2012, 8:54:17 PM7/15/12
to ruby...@ruby-lang.org

Issue #6735 has been updated by ThomasDickey (Thomas dickey).


Actually the page on gnu.org is a copy (with some minor changes) of the file on my site.
I see that my faq didn't provide a link to the 5.8 release where MinGW was listed -
http://invisible-island.net/ncurses/announce-5.8.html
and you may see that it was one of many changes made since 5.7. However, I agree that
building dll's is time-consuming (I would do this via cross-compiling, but it happens
that the cross-compiling tools aren't quite stable enough to promise that this would
be done routinely).
----------------------------------------
Feature #6735: curses: support linking against pdcurses
https://bugs.ruby-lang.org/issues/6735#change-28136

Author: luislavena (Luis Lavena)
Status: Assigned

luislavena (Luis Lavena)

unread,
Jul 16, 2012, 8:27:39 PM7/16/12
to ruby...@ruby-lang.org

Issue #6735 has been updated by luislavena (Luis Lavena).


Thanks for your time and details Thomas.

However, as mentioned in my previous comment, ncurses does not compile properly with either MinGW or mingw-w64 toolchains that I use to build RubyInstaller.

While getting ncurses to work properly on Windows is a great idea, I personally lack the knowledge or experience on curses to help.

On the other hand, pdcurses, with minor changes, did compile properly with both 32 and 64bits compiler toolchains, which is the reason I'm requesting support for linking against it.

Regards.
----------------------------------------
Feature #6735: curses: support linking against pdcurses
https://bugs.ruby-lang.org/issues/6735#change-28164

Author: luislavena (Luis Lavena)
Status: Assigned

ThomasDickey (Thomas dickey)

unread,
Jul 29, 2012, 6:43:41 AM7/29/12
to ruby...@ruby-lang.org

Issue #6735 has been updated by ThomasDickey (Thomas dickey).


I cannot account for the developer's failure to compile ncurses, since he's
never provided a bug report. However, it's trivial to cross-compile, so
perhaps some progress might be made in that area. I've put a zip-file with
current code here, which I'll update:
http://invisible-island.net/datafiles/release/mingw32.zip
----------------------------------------
Feature #6735: curses: support linking against pdcurses
https://bugs.ruby-lang.org/issues/6735#change-28527

Author: luislavena (Luis Lavena)
Status: Closed
Reply all
Reply to author
Forward
0 new messages