summaryrefslogtreecommitdiff
path: root/lang/smalltalk
diff options
context:
space:
mode:
authordholland <dholland@pkgsrc.org>2014-12-27 00:13:28 +0000
committerdholland <dholland@pkgsrc.org>2014-12-27 00:13:28 +0000
commit390da9342bb7b971cac9128511ec1696ca980c7e (patch)
tree0fa97ed92ebe85ea28867abb226fe084455cc236 /lang/smalltalk
parent5157097672daac1cb7f0b187dca4c169c03e1563 (diff)
downloadpkgsrc-390da9342bb7b971cac9128511ec1696ca980c7e.tar.gz
Sort out depends.
- Add options.mk and make most of the heavy depends optional. - Add optional support for SDL, disabled by default. - Fix curses buildlinking; closes PR 49478. - Update readline support for semi-recent API changes. - Update PLIST accordingly. PKGREVISION -> 20.
Diffstat (limited to 'lang/smalltalk')
-rw-r--r--lang/smalltalk/Makefile26
-rw-r--r--lang/smalltalk/PLIST42
-rw-r--r--lang/smalltalk/distinfo5
-rw-r--r--lang/smalltalk/options.mk102
-rw-r--r--lang/smalltalk/patches/patch-ae20
-rw-r--r--lang/smalltalk/patches/patch-libgst_input.c23
6 files changed, 178 insertions, 40 deletions
diff --git a/lang/smalltalk/Makefile b/lang/smalltalk/Makefile
index fc360e06edf..3f428657060 100644
--- a/lang/smalltalk/Makefile
+++ b/lang/smalltalk/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.84 2014/06/19 15:15:38 asau Exp $
+# $NetBSD: Makefile,v 1.85 2014/12/27 00:13:28 dholland Exp $
DISTNAME= smalltalk-3.2.4
-PKGREVISION= 19
+PKGREVISION= 20
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=smalltalk/}
@@ -19,16 +19,10 @@ GNU_CONFIGURE= YES
CONFIGURE_ARGS+= --with-system-ltdl
CONFIGURE_ARGS+= --with-system-libsigsegv=${BUILDLINK_PREFIX.libsigsegv}/lib
CONFIGURE_ARGS+= --with-system-libffi=${BUILDLINK_PREFIX.libffi}/lib
-CONFIGURE_ARGS+= --with-gdbm=${BUILDLINK_PREFIX.gdbm}/lib
CONFIGURE_ARGS+= --with-gmp=${BUILDLINK_PREFIX.gmp}/lib
CONFIGURE_ARGS+= --with-lispdir=${PREFIX}/share/emacs/site-lisp
-CONFIGURE_ARGS+= --with-readline=${BUILDLINK_PREFIX.readline}/lib
-CONFIGURE_ARGS+= --with-tcl=${BUILDLINK_PREFIX.tcl}/lib
-CONFIGURE_ARGS+= --with-tk=${BUILDLINK_PREFIX.tk}/lib
CONFIGURE_ARGS+= --without-emacs
-#CONFIGURE_ARGS+= --without-glib --without-gtk
#CONFIGURE_ENV+= CFLAGS="-O2 -fsigned-char"
-CONFIGURE_ENV+= ac_cv_header_sqlite3_h=no
IGNORE_LIBTOOLIZE= lib/smalltalk/libc.la
INFO_FILES= YES
@@ -59,19 +53,15 @@ post-extract:
-e "s/LDBL_EPSILON/FLT_EPSILON/g" -e "s/truncl/truncf/g" \
${WRKSRC}/lib-src/truncl.c > ${WRKSRC}/lib-src/truncf.c
-.include "../../graphics/glut/buildlink3.mk"
-.include "../../graphics/glu/buildlink3.mk"
-.include "../../x11/libICE/buildlink3.mk"
+.include "options.mk"
+
+
.include "../../converters/libiconv/buildlink3.mk"
-.include "../../databases/gdbm/buildlink3.mk"
-.include "../../devel/libsigsegv/buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
+.include "../../devel/gmp/buildlink3.mk"
.include "../../devel/libffi/buildlink3.mk"
.include "../../devel/libltdl/buildlink3.mk"
-.include "../../devel/gmp/buildlink3.mk"
-.include "../../devel/gettext-lib/buildlink3.mk"
-.include "../../devel/readline/buildlink3.mk"
+.include "../../devel/libsigsegv/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
-.include "../../x11/gtk2/buildlink3.mk"
-.include "../../x11/tk/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/lang/smalltalk/PLIST b/lang/smalltalk/PLIST
index 07891b43c52..74decc288be 100644
--- a/lang/smalltalk/PLIST
+++ b/lang/smalltalk/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.23 2013/03/24 16:54:59 joerg Exp $
+@comment $NetBSD: PLIST,v 1.24 2014/12/27 00:13:28 dholland Exp $
bin/gst
bin/gst-blox
bin/gst-browser
@@ -18,13 +18,15 @@ info/gst-libs.info
info/gst.info
lib/libgst.la
lib/pkgconfig/gnu-smalltalk.pc
-lib/smalltalk/blox-tk.la
+${PLIST.tk}lib/smalltalk/blox-tk.la
+${PLIST.sqlite}lib/smalltalk/dbd-sqlite3.la
lib/smalltalk/digest.la
-lib/smalltalk/expat.la
-lib/smalltalk/gdbm.la
-lib/smalltalk/gst-gtk.la
-lib/smalltalk/gstglut.la
-lib/smalltalk/gstopengl.la
+${PLIST.expat}lib/smalltalk/expat.la
+${PLIST.gdbm}lib/smalltalk/gdbm.la
+${PLIST.gtk}lib/smalltalk/gst-gtk.la
+${PLIST.opengl}lib/smalltalk/gstglut.la
+${PLIST.opengl}lib/smalltalk/gstopengl.la
+${PLIST.sdl}lib/smalltalk/sdl.la
lib/smalltalk/i18n.la
lib/smalltalk/iconv.la
lib/smalltalk/zlib.la
@@ -53,32 +55,40 @@ share/aclocal/gst-package.m4
share/aclocal/gst.m4
share/smalltalk/Announcements.star
share/smalltalk/BLOXBrowser.star
-share/smalltalk/Blox.star
-share/smalltalk/BloxGTK.star
-share/smalltalk/BloxTK.star
+${PLIST.blox}share/smalltalk/Blox.star
+${PLIST.gtk}share/smalltalk/BloxGTK.star
+${PLIST.tk}share/smalltalk/BloxTK.star
share/smalltalk/CParser.star
-share/smalltalk/Cairo.star
+${PLIST.cairo}share/smalltalk/Cairo.star
share/smalltalk/ClassPublisher.star
share/smalltalk/Compiler.star
share/smalltalk/Complex.star
share/smalltalk/Continuations.star
share/smalltalk/DBD-MySQL.star
+${PLIST.sqlite}share/smalltalk/DBD-SQLite.star
share/smalltalk/DBI.star
share/smalltalk/DebugTools.star
share/smalltalk/DhbNumericalMethods.star
share/smalltalk/Digest.star
-share/smalltalk/GDBM.star
-share/smalltalk/GLUT.star
+${PLIST.gdbm}share/smalltalk/GDBM.star
+${PLIST.opengl}share/smalltalk/GLUT.star
share/smalltalk/GNUPlot.star
-share/smalltalk/GTK.star
+${PLIST.gtk}share/smalltalk/GTK.star
share/smalltalk/Glorp.star
share/smalltalk/I18N.star
share/smalltalk/Iconv.star
share/smalltalk/Java.star
+${PLIST.sdl}share/smalltalk/LibSDL.star
+${PLIST.sdl}share/smalltalk/LibSDL_GL.star
+${PLIST.sdl}share/smalltalk/LibSDL_image.star
+${PLIST.sdl}share/smalltalk/LibSDL_mixer.star
+${PLIST.sdl}share/smalltalk/LibSDL_sound.star
+${PLIST.sdl}share/smalltalk/LibSDL_ttf.star
share/smalltalk/Magritte-Seaside.star
share/smalltalk/Magritte.star
+${PLIST.curses}share/smalltalk/NCurses.star
share/smalltalk/NetClients.star
-share/smalltalk/OpenGL.star
+${PLIST.opengl}share/smalltalk/OpenGL.star
share/smalltalk/Parser.star
share/smalltalk/ProfileTools.star
share/smalltalk/ROE.star
@@ -95,7 +105,7 @@ share/smalltalk/VFSAddOns.star
share/smalltalk/VisualGST.star
share/smalltalk/WebServer.star
share/smalltalk/XML-DOM.star
-share/smalltalk/XML-Expat.star
+${PLIST.expat}share/smalltalk/XML-Expat.star
share/smalltalk/XML-ParserTests.star
share/smalltalk/XML-PullParser.star
share/smalltalk/XML-SAXDriver.star
diff --git a/lang/smalltalk/distinfo b/lang/smalltalk/distinfo
index e3bbe02cdae..c0daf0f3a23 100644
--- a/lang/smalltalk/distinfo
+++ b/lang/smalltalk/distinfo
@@ -1,8 +1,9 @@
-$NetBSD: distinfo,v 1.24 2013/03/24 16:54:59 joerg Exp $
+$NetBSD: distinfo,v 1.25 2014/12/27 00:13:28 dholland Exp $
SHA1 (smalltalk-3.2.4.tar.gz) = 6b164e145c1118ad74770bb15614478d47f55523
RMD160 (smalltalk-3.2.4.tar.gz) = d8ca6b888311a70748071ff4024e31adeb0a920f
Size (smalltalk-3.2.4.tar.gz) = 5877496 bytes
-SHA1 (patch-ae) = c92422f2ac5378dafc65762a69c0dc840d974363
+SHA1 (patch-ae) = aa64f95b4aec8117655ebd7fe07a6c0ffa7018fe
SHA1 (patch-ah) = eaa03cf41f1c30acd1762cb6389dfe0157ce551b
+SHA1 (patch-libgst_input.c) = 06168ed6decd6d42838e76ada81717e3f599d733
SHA1 (patch-snprintfv_snprintfv_format.c) = 3e44d61ac38197066b0a56e15c2e519a2b7d1661
diff --git a/lang/smalltalk/options.mk b/lang/smalltalk/options.mk
new file mode 100644
index 00000000000..652593aa810
--- /dev/null
+++ b/lang/smalltalk/options.mk
@@ -0,0 +1,102 @@
+# $NetBSD: options.mk,v 1.1 2014/12/27 00:13:28 dholland Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.smalltalk
+PKG_SUPPORTED_OPTIONS= cairo curses expat gdbm gtk opengl readline sdl sqlite tk
+PKG_SUGGESTED_OPTIONS= cairo curses expat gdbm gtk opengl readline tk
+
+PLIST_VARS+= ${PKG_SUPPORTED_OPTIONS}
+PLIST_VARS+= blox
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mcairo)
+PLIST.cairo= yes
+. include "../../graphics/cairo/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --disable-cairo
+.endif
+
+.if !empty(PKG_OPTIONS.Mcurses)
+PLIST.curses= yes
+# it only searches for ncurses but seems to be ok with at least netbsd's curses
+FAKE_NCURSES= yes
+.include "../../mk/curses.buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --without-ncurses
+.endif
+
+.if !empty(PKG_OPTIONS:Mexpat)
+PLIST.expat= yes
+.include "../../textproc/expat/buildlink3.mk"
+.else
+CONFIGURE_ENV+= ac_cv_header_expat_h=no
+.endif
+
+# XXX: there are mysql, postgres modules too
+.if !empty(PKG_OPTIONS:Mgdbm)
+PLIST.gdbm= yes
+CONFIGURE_ARGS+= --with-gdbm=${BUILDLINK_PREFIX.gdbm}/lib
+. include "../../databases/gdbm/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --without-gdbm
+.endif
+
+.if !empty(PKG_OPTIONS:Mgtk)
+PLIST.gtk= yes
+PLIST.blox= yes
+. include "../../devel/atk/buildlink3.mk"
+. include "../../devel/glib2/buildlink3.mk"
+. include "../../devel/pango/buildlink3.mk"
+. include "../../x11/gtk2/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --without-glib --without-gtk
+.endif
+
+.if !empty(PKG_OPTIONS:Mopengl)
+PLIST.opengl= yes
+. include "../../graphics/MesaLib/buildlink3.mk"
+. include "../../graphics/glu/buildlink3.mk"
+. include "../../graphics/glut/buildlink3.mk"
+. include "../../x11/libICE/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --disable-opengl
+CONFIGURE_ARGS+= --disable-glut
+.endif
+
+.if !empty(PKG_OPTIONS:Mreadline)
+PLIST.readline= yes
+CONFIGURE_ARGS+= --with-readline=${BUILDLINK_PREFIX.readline}/lib
+. include "../../devel/readline/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --without-readline
+.endif
+
+.if !empty(PKG_OPTIONS:Msdl)
+PLIST.sdl= yes
+. include "../../devel/SDL/buildlink3.mk"
+. include "../../graphics/SDL_image/buildlink3.mk"
+. include "../../audio/SDL_mixer/buildlink3.mk"
+. include "../../audio/SDL_sound/buildlink3.mk"
+. include "../../devel/SDL_ttf/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --disable-SDL
+.endif
+
+.if !empty(PKG_OPTIONS:Msqlite)
+PLIST.sqlite= yes
+. include "../../databases/sqlite3/buildlink3.mk"
+.else
+CONFIGURE_ENV+= ac_cv_header_sqlite3_h=no
+.endif
+
+.if !empty(PKG_OPTIONS:Mtk)
+PLIST.tk= yes
+PLIST.blox= yes
+CONFIGURE_ARGS+= --with-tcl=${BUILDLINK_PREFIX.tcl}/lib
+CONFIGURE_ARGS+= --with-tk=${BUILDLINK_PREFIX.tk}/lib
+. include "../../lang/tcl/buildlink3.mk"
+. include "../../x11/tk/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --without-tcl
+CONFIGURE_ARGS+= --without-tk
+.endif
diff --git a/lang/smalltalk/patches/patch-ae b/lang/smalltalk/patches/patch-ae
index 73d34401526..5c0de379107 100644
--- a/lang/smalltalk/patches/patch-ae
+++ b/lang/smalltalk/patches/patch-ae
@@ -1,8 +1,11 @@
-$NetBSD: patch-ae,v 1.5 2011/04/30 11:46:15 asau Exp $
+$NetBSD: patch-ae,v 1.6 2014/12/27 00:13:28 dholland Exp $
---- configure.orig 2010-04-21 14:03:23.000000000 +0400
-+++ configure 2010-05-02 22:52:09.000000000 +0400
-@@ -15539,7 +15539,8 @@
+- add more functions to check for (XXX: why is half the line duplicated?)
+- update for readline API changes
+
+--- configure.orig 2011-03-21 18:12:58.000000000 +0000
++++ configure
+@@ -16069,7 +16069,8 @@ fi
for ac_func in putenv strdup strerror strsignal mkstemp getpagesize \
getdtablesize strstr ftruncate floorl ceill sqrtl frexpl ldexpl asinl \
@@ -12,3 +15,12 @@ $NetBSD: patch-ae,v 1.5 2011/04/30 11:46:15 asau Exp $
lrint trunc strsep strpbrk symlink mkdtemp
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+@@ -17737,7 +17738,7 @@ main()
+ {
+ rl_bind_key ('\t', rl_insert);
+ /* This is missing in BSD libedit! */
+- rl_filename_quoting_function = (CPFunction *) readline_quote_filename;
++ rl_filename_quoting_function = (rl_quote_func_t *) readline_quote_filename;
+ exit(0);
+ }
+ EOF
diff --git a/lang/smalltalk/patches/patch-libgst_input.c b/lang/smalltalk/patches/patch-libgst_input.c
new file mode 100644
index 00000000000..4077f877023
--- /dev/null
+++ b/lang/smalltalk/patches/patch-libgst_input.c
@@ -0,0 +1,23 @@
+$NetBSD: patch-libgst_input.c,v 1.1 2014/12/27 00:13:28 dholland Exp $
+
+Update for readline API changes.
+
+--- libgst/input.c~ 2011-03-21 11:32:44.000000000 +0000
++++ libgst/input.c
+@@ -1142,13 +1142,13 @@ _gst_initialize_readline (void)
+ rl_special_prefixes = (char *) "+-=*<>~?%/@|&\\";
+
+ /* Our rules for quoting are a bit different from the default */
+- rl_filename_quoting_function = (CPFunction *) readline_quote_filename;
++ rl_filename_quoting_function = (rl_quote_func_t *) readline_quote_filename;
+ rl_filename_dequoting_function =
+- (CPFunction *) readline_dequote_filename;
++ (rl_dequote_func_t *) readline_dequote_filename;
+
+ /* Try to match a symbol before a filename */
+ rl_attempted_completion_function =
+- (CPPFunction *) readline_match_symbols;
++ (rl_completion_func_t *) readline_match_symbols;
+
+ /* Since we have to sort the array to perform the binary search,
+ remove duplicates and avoid that readline resorts the result. */