| View Issue Details [ Jump to Notes ] | [ Print ] |
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0010766 | CMake | CMake | public | 2010-05-26 22:32 | 2011-01-12 07:31 |
|
| Reporter | Yaakov (Cygwin Ports) | |
| Assigned To | Brad King | |
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | |
| Platform | | OS | | OS Version | |
| Product Version | CMake-2-8 | |
| Target Version | CMake 2.8.4 | Fixed in Version | CMake 2.8.4 | |
|
| Summary | 0010766: Utilities/Release/Cygwin: fix for libncurses10 |
| Description | With the switch to upstream ncurses "ABI 6", Cygwin's ncurses has YA ABI bump and is now libncurses10. However, the regex used in Utilities/Release/Cygwin/CMakeLists.txt to determine which libncurses is being used does not handle multiple-digit ABIs.
libncurses8 was the first version to be built with libtool and therefore contains a hyphen (cygncurses-8.dll). It was first introduced in 2004[1], so it should be sufficiently old to rely on. Furthermore, libncurses7 has a serious flaw in that it completely breaks if rebased.
Therefore IMO the easiest solution is to only look at the hyphened versions and change the regex accordingly. Patch attached.
[1] http://cygwin.com/ml/cygwin/2004-10/msg00674.html [^] |
| Tags | No tags attached. |
|
| Attached Files | 2.8.1-cygwin-libncurses.patch [^] (730 bytes) 2010-05-26 22:32 [Show Content] [Hide Content]* libncurses10 is now current; libncurses7 and before (without the
hyphen in the DLL name) are old enough to ignore.
--- origsrc/cmake-2.8.1/Utilities/Release/Cygwin/CMakeLists.txt 2010-04-06 09:45:47.000000000 -0500
+++ src/cmake-2.8.1/Utilities/Release/Cygwin/CMakeLists.txt 2010-04-29 19:16:29.255401600 -0500
@@ -1,8 +1,8 @@
-FILE(GLOB INSTALLED_CURSES /usr/bin/cygncurses*.dll)
+FILE(GLOB INSTALLED_CURSES /usr/bin/cygncurses-*.dll)
SET(MAX 0)
FOREACH(f ${INSTALLED_CURSES})
IF(NOT "${f}" MATCHES "\\+")
- STRING(REGEX REPLACE ".*([0-9]).dll" "\\1" NUMBER "${f}")
+ STRING(REGEX REPLACE ".*-([0-9]*).dll" "\\1" NUMBER "${f}")
IF(NUMBER GREATER MAX)
SET(MAX ${NUMBER})
ENDIF(NUMBER GREATER MAX)
|
|