# New Ticket Created by  Reini Urban 
# Please include the string:  [perl #57110]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=57110 >


---
osname= cygwin
osvers= 1.5.25(0.15642)
arch=   cygwin-thread-multi-64int
cc=     gcc
---
Flags:
      category=library
      severity=high
      ack=no
---

Attached patch fixes ncurses.pir for cygwin
I had this sitting around since 0.4.16

--- runtime/parrot/library/ncurses.pir.orig     2008-02-23 18:27:07 +0000
+++ runtime/parrot/library/ncurses.pir  2008-07-19 09:25:05 +0000
@@ -1,6 +1,9 @@
  .sub __ncurses_init :load

  loadlib $P1, 'libform'
+if $P1 goto has_lib
+loadlib $P1, 'cygform-8'
+has_lib:
  dlfunc $P2, $P1, 'new_field', 'piiiiii'
  store_global 'ncurses::new_field', $P2
  dlfunc $P2, $P1, 'dup_field', 'ppii'
@@ -119,7 +122,9 @@
  store_global 'ncurses::data_behind', $P2

  loadlib $P1, 'libncurses'
-
+if $P1 goto has_lib1
+loadlib $P1, 'cygncurses-8'
+has_lib1:
  dlfunc $P2, $P1, 'keybound', 'tii'
  store_global 'ncurses::keybound', $P2


---
Summary of my parrot 0.6.4 (r0) configuration:
   configdate='Sat Jul 19 08:19:49 2008 GMT'
   Platform:
     osname=cygwin, archname=cygwin-thread-multi-64int
     jitcapable=1, jitarchname=i386-cygwin,
     jitosname=CYGWIN, jitcpuarch=i386
     execcapable=1
     perl=/usr/bin/perl.exe
   Compiler:
     cc='gcc', ccflags='-U__STRICT_ANSI__  -pipe -I/usr/local/include 
-DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED  -DHASATTRIBUTE_MALLOC 
-DHASATTRIBUTE_NONNULL  -DHASATTRIBUTE_NORETURN  -DHASATTRIBUTE_PURE 
-DHASATTRIBUTE_UNUSED  -DHASATTRIBUTE_WARN_UNUSED_RESULT 
-falign-functions=16 -maccumulate-outgoing-args -W -Wall 
-Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment 
-Wdisabled-optimization -Wendif-labels -Wextra -Wformat 
-Wformat-extra-args -Wformat-nonliteral -Wformat-security -Wformat-y2k 
-Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wmissing-braces 
-Wno-missing-format-attribute -Wpacked -Wparentheses -Wpointer-arith 
-Wreturn-type -Wsequence-point -Wno-shadow -Wsign-compare 
-Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default 
-Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused -Wwrite-strings 
-Wbad-function-cast -Wdeclaration-after-statement 
-Wimplicit-function-declaration -Wimplicit-int -Wmain 
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wnonnull 
-DDISABLE_GC_DEBUG=1 -DNDEBUG -O3 -DHAS_GETTEXT',
   Linker and Libraries:
     ld='gcc', ldflags=' -Wl,--enable-auto-import 
-Wl,--export-all-symbols -Wl,--stack,8388608 
-Wl,--enable-auto-image-base -L/usr/local/lib',
     cc_ldflags='',
     libs='-lcrypt -lgmp -lreadline -lpcre /usr/bin/glut32.dll -lglu32 
-lopengl32 -lcrypto -lintl'
   Dynamic Linking:
     share_ext='.dll', ld_share_flags='-shared',
     load_ext='.dll', ld_load_flags='-shared'
   Types:
     iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
     ptrsize=4, ptr_alignment=1 byteorder=1234,
     nv=double, numvalsize=8, doublesize=8
   Locally applied patches:
      [perl #51944] [DOCS]  Cygwin Readme
      [perl #56562] [PATCH] root.in: add cygwin importlib
      [perl #56544] [PATCH] install_files.pl
      [perl #56558] [PATCH] pdb rename to parrot_pdb
      [perl #56998] [TODO]  rename cygwin dll to cygparrot.dll
      [perl #57006] [PATCH] add cygwin opengl config quirks

---
Environment:
      CYGWIN =server
      HOME =/home/rurban
      LANG  (unset)
      LANGUAGE  (unset)
      LD_LIBRARY_PATH  (unset)
      LOGDIR  (unset)
      PATH
=~/bin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/usr/bin:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Programme/ATI
 



Technologies/ATI.ACE/Core-Static:/usr/local/bin:/usr/lib/gstreamer-0.8:/usr/lib/lapack
      SHELL  (unset)




difforig runtime/parrot/library/ncurses.pir

diff -u runtime/parrot/library/ncurses.pir.orig runtime/parrot/library/ncurses.pir
--- runtime/parrot/library/ncurses.pir.orig	2008-02-23 18:27:07.000000000 +0000
+++ runtime/parrot/library/ncurses.pir	2008-07-19 09:25:05.609375000 +0000
@@ -1,6 +1,9 @@
 .sub __ncurses_init :load
 
 loadlib $P1, 'libform'
+if $P1 goto has_lib
+loadlib $P1, 'cygform-8'
+has_lib:
 dlfunc $P2, $P1, 'new_field', 'piiiiii'
 store_global 'ncurses::new_field', $P2
 dlfunc $P2, $P1, 'dup_field', 'ppii'
@@ -119,7 +122,9 @@
 store_global 'ncurses::data_behind', $P2
 
 loadlib $P1, 'libncurses'
-
+if $P1 goto has_lib1
+loadlib $P1, 'cygncurses-8'
+has_lib1:
 dlfunc $P2, $P1, 'keybound', 'tii'
 store_global 'ncurses::keybound', $P2
 

Reply via email to