tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Using ncursesw with p5-Curses



> The following seems to work:
I needed two more patches, one to have -lcurses transformed to -lncursesw, 
not -lcurses; another to have Curses's Makefile.PL choose the w variants 
of panel, menu, and form (otherwise the non-w variants pull in ncurses).
Index: devel/ncurses/buildlink3.mk
===================================================================
RCS file: /cvsroot/pkgsrc/devel/ncurses/buildlink3.mk,v
retrieving revision 1.43
diff -u -r1.43 buildlink3.mk
--- devel/ncurses/buildlink3.mk 1 Dec 2013 02:18:14 -0000 1.43
+++ devel/ncurses/buildlink3.mk 4 Mar 2014 20:52:23 -0000
@@ -20,7 +20,6 @@
 BUILDLINK_TARGETS+= buildlink-ncurses-curses-h
 BUILDLINK_TARGETS+= buildlink-ncurses-ncurses-h
 BUILDLINK_TARGETS+= buildlink-ncurses-term-h
-BUILDLINK_TRANSFORM+= l:curses:${BUILDLINK_LIBNAME.ncurses}
 BUILDLINK_INCDIRS.ncurses+= include/ncurses
 
 # Many packages will prefer ncursesw over ncurses if its available (say as
@@ -30,6 +29,9 @@
 . include "../../mk/bsd.fast.prefs.mk"
 . if empty(BUILDLINK_TREE:Mncursesw) && empty(PKGPATH:Mdevel/ncursesw)
 BUILDLINK_TRANSFORM+= l:ncursesw:__nonexistent__
+BUILDLINK_TRANSFORM+= l:curses:${BUILDLINK_LIBNAME.ncurses}
+.else
+BUILDLINK_TRANSFORM+= l:curses:${BUILDLINK_LIBNAME.ncursesw}
 . endif
 
 .PHONY: buildlink-ncurses-curses-h buildlink-ncurses-ncurses-h
Index: devel/p5-Curses/Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/devel/p5-Curses/Makefile,v
retrieving revision 1.43
diff -u -r1.43 Makefile
--- devel/p5-Curses/Makefile 16 Oct 2013 16:27:26 -0000 1.43
+++ devel/p5-Curses/Makefile 4 Mar 2014 20:52:09 -0000
@@ -41,4 +41,19 @@
 ${LN} -sf ${WRKSRC}/hints/c-freebsd.ncurses.h ${WRKSRC}/c-config.h
 .endif
 
+# Pass appropriate CURSES_LIBTYPE so Curses will link to the matching 
panel/menu/form library
+.if ${CURSES_TYPE} == "curses"
+CURSES_LIBTYPE= bsd
+.elif ${CURSES_TYPE} == "ncurses"
+CURSES_LIBTYPE= ncurses
+.elif ${CURSES_TYPE} == "ncursesw"
+CURSES_LIBTYPE= ncursesw
+.endif
+
+.if defined(CURSES_LIBTYPE)
+MAKE_ENV+= CURSES_LIBTYPE=${CURSES_LIBTYPE}
+MAKE_ENV+= 
CURSES_CFLAGS=${BUILDLINK_INCDIRS.${CURSES_TYPE}:S/^/-I/}
+MAKE_ENV+= CURSES_LDFLAGS=${BUILDLINK_LDADD.${CURSES_TYPE}}
+.endif
+
 .include "../../mk/bsd.pkg.mk"


Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /