On 04/30/12 17:14, Matthieu Herrb wrote:
> On Mon, Apr 30, 2012 at 02:50:27PM -0400, Stuart Cassoff wrote:
>> On 04/28/12 18:04, Matthieu Herrb wrote:
>>> ok?
>>
>> Here's a patch that works like yours, but slightly different.
>> Installing into ${MODTCL_TCLDIR} allows using it as a Tcl package.
>>
> Your version is less intrusive than mine. I like it better. Please
> commit (with or without the patch above).

Latest. Tested on i386 and amd64.


Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/eltclsh/Makefile,v
retrieving revision 1.24
diff -u -p -r1.24 Makefile
--- Makefile    28 Apr 2012 20:20:15 -0000      1.24
+++ Makefile    10 Oct 2012 06:15:19 -0000
@@ -2,8 +2,7 @@

 COMMENT =      Libedit interface to Tcl/Tk interpreters

-DISTNAME =     eltclsh-1.9
-REVISION=      6
+DISTNAME =     eltclsh-1.12
 CATEGORIES =   lang x11

 MASTER_SITES = http://www.openrobots.org/distfiles/eltclsh/
@@ -19,22 +18,31 @@ PERMIT_DISTFILES_CDROM = Yes
 PERMIT_DISTFILES_FTP =  Yes

 MODULES +=     x11/tk
-WANTLIB += X11 Xau Xdmcp Xext Xft Xrender Xss c edit expat fontconfig
-WANTLIB += freetype m pthread-stubs termcap xcb z
+WANTLIB += X11 Xext Xft Xrender Xss c edit expat fontconfig freetype
+WANTLIB += m termcap xcb z

 SEPARATE_BUILD =       Yes
 CONFIGURE_STYLE =      gnu
+
 CONFIGURE_ARGS =       --with-tcl=${MODTCL_LIBDIR} \
-                       --with-tk=${MODTK_LIBDIR}
-CONFIGURE_ENV =                MKDEP=/bin/false
+                       --with-tk=${MODTK_LIBDIR} \
+                       --libdir=\$${prefix}/lib/tcl \
+                       --datadir=\$${prefix}/lib/tcl
+
 USE_GMAKE =            Yes
 USE_LIBTOOL =          Yes
-FAKE_FLAGS =           "ELTCL_LIBRARY=${WRKINST}${PREFIX}/share/eltcl"
+FAKE_FLAGS =           ELTCL_LIBRARY=${WRKINST}${MODTCL_TCLDIR}/eltcl

 NO_REGRESS =           Yes

 LIB_DEPENDS +=         ${MODTK_LIB_DEPENDS}

 WANTLIB +=             ${MODTK_WANTLIB}
+
+post-install:
+       rm ${WRKINST}${MODTCL_TCLDIR}/eltcl/libeltclsh.la
+       rm ${WRKINST}${MODTCL_TCLDIR}/eltcl/libeltclsh.a
+       rm ${WRKINST}${MODTCL_TCLDIR}/pkgconfig/eltclsh.pc
+       rmdir ${WRKINST}${MODTCL_TCLDIR}/pkgconfig

 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/eltclsh/distinfo,v
retrieving revision 1.6
diff -u -p -r1.6 distinfo
--- distinfo    30 Aug 2008 13:54:57 -0000      1.6
+++ distinfo    10 Oct 2012 06:15:19 -0000
@@ -1,5 +1,2 @@
-MD5 (eltclsh-1.9.tar.gz) = /kN/So5a0QIZd42sYIa9XA==
-RMD160 (eltclsh-1.9.tar.gz) = i+4CiLxFiEW1OEJyFk30ji5+CwM=
-SHA1 (eltclsh-1.9.tar.gz) = TIX8aSfD/ENZMW6SZUYKh0eXKg0=
-SHA256 (eltclsh-1.9.tar.gz) = jzPI91FKVdQB8Tv0OdBGVc0GeMdbdsnvcRKXK74R0cY=
-SIZE (eltclsh-1.9.tar.gz) = 342659
+SHA256 (eltclsh-1.12.tar.gz) = 75GlppHX8BQ+hsez2tlw30WPGqPNhqo8evKx0QE6TGk=
+SIZE (eltclsh-1.12.tar.gz) = 244359
Index: patches/patch-Makefile_in
===================================================================
RCS file: patches/patch-Makefile_in
diff -N patches/patch-Makefile_in
--- patches/patch-Makefile_in   23 Oct 2010 21:49:06 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,21 +0,0 @@
-$OpenBSD: patch-Makefile_in,v 1.1 2010/10/23 21:49:06 naddy Exp $
---- Makefile.in.orig   Sat Oct 23 19:50:38 2010
-+++ Makefile.in        Sat Oct 23 19:51:16 2010
-@@ -65,7 +65,7 @@ all depends: $(config_files) $(config_headers) doc
- clean:
-       $(make_subdirs)
-
--install: $(config_files) install-doc install-catdoc
-+install: $(config_files) install-doc
-       $(make_subdirs)
-
-
-@@ -74,7 +74,7 @@ install: $(config_files) install-doc install-catdoc
- MAN=          eltclsh.1
- CATMAN=               ${MAN:=.cat}
-
--doc: ${CATMAN}
-+doc:
-
- %.cat: %
-       @if test "X${GROFF}" != "X"; then \
Index: patches/patch-configure
===================================================================
RCS file: patches/patch-configure
diff -N patches/patch-configure
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-configure     10 Oct 2012 06:15:19 -0000
@@ -0,0 +1,11 @@
+$OpenBSD$
+--- configure.orig     Mon Apr 30 12:41:06 2012
++++ configure  Mon Apr 30 12:41:39 2012
+@@ -11462,6 +11462,7 @@ $as_echo "$as_me: tk support not found/disabled" >&6;}
+    file=${tk_prefix}/tkConfig.sh
+    . $file
+       eval TK_INCLUDE_SPEC="\"${TK_INCLUDE_SPEC} ${TK_XINCLUDES}\""
++      eval TK_LIB_SPEC="\"${TK_LIB_SPEC} ${TK_LIBS}\""
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tk headers" >&5
+ $as_echo_n "checking for tk headers... " >&6; }
Index: patches/patch-src_Makefile_in
===================================================================
RCS file: patches/patch-src_Makefile_in
diff -N patches/patch-src_Makefile_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_Makefile_in       10 Oct 2012 06:15:19 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- src/Makefile.in.orig       Tue Oct  9 01:01:16 2012
++++ src/Makefile.in    Tue Oct  9 01:01:38 2012
+@@ -104,7 +104,7 @@ $(ELWISH): $(elwishobjs) $(commonobjs)
+ #
+ lib$(ELPKG).la: $(pkgobjs)
+       $(LTLD) -avoid-version -o $@ $(CFLAGS) $(pkgobjs)               \
+-              $(addprefix -XCClinker ,$(TCLSTUB_LDFLAGS))             \
++              $(TCLSTUB_LDFLAGS)              \
+               -rpath $(datadir) $(LDFLAGS) $(EL_LDFLAGS)
+
+ # object files
Index: patches/patch-src_elwish_c
===================================================================
RCS file: /cvs/ports/lang/eltclsh/patches/patch-src_elwish_c,v
retrieving revision 1.2
diff -u -p -r1.2 patch-src_elwish_c
--- patches/patch-src_elwish_c  3 Apr 2004 09:30:22 -0000       1.2
+++ patches/patch-src_elwish_c  10 Oct 2012 06:15:19 -0000
@@ -1,13 +1,12 @@
 $OpenBSD: patch-src_elwish_c,v 1.2 2004/04/03 09:30:22 matthieu Exp $
---- src/elwish.c.orig  2003-09-27 19:14:21.000000000 +0200
-+++ src/elwish.c       2004-04-03 11:23:11.000000000 +0200
-@@ -77,9 +77,6 @@ elWishAppInit(ElTclInterpInfo *iinfo)
+--- src/elwish.c.orig  Thu Jun 16 11:17:42 2011
++++ src/elwish.c       Mon Apr 30 14:32:18 2012
+@@ -74,8 +74,6 @@ elWishAppInit(Tcl_Interp *interp)
     /* change the rc file */
-    Tcl_SetVar(iinfo->interp, "tcl_rcFileName", ".elwishrc", TCL_GLOBAL_ONLY);
+    Tcl_SetVar(interp, "tcl_rcFileName", "~/.elwishrc", TCL_GLOBAL_ONLY);

 -   /* I hate that stupid empty window you get after Tk_Init() */
--   Tcl_Eval(iinfo->interp, "wm withdraw .");
--
+-   Tcl_Eval(interp, "wm withdraw .");
+
     return TCL_OK;
  }
-
Index: patches/patch-src_loop_c
===================================================================
RCS file: patches/patch-src_loop_c
diff -N patches/patch-src_loop_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_loop_c    10 Oct 2012 06:15:19 -0000
@@ -0,0 +1,30 @@
+$OpenBSD$
+
+Adjust for OpenBSD-specific Tcl package path layout.
+
+--- src/loop.c.orig    Wed Oct 10 01:35:23 2012
++++ src/loop.c Wed Oct 10 01:37:23 2012
+@@ -57,7 +57,7 @@ elTclshLoop(int argc, char **argv, ElTclAppInitProc ap
+ #endif /* TCL_VERSION */
+ {
+    Tcl_Interp *interp;
+-   Tcl_Obj *resultPtr, *obj;
++   Tcl_Obj *resultPtr;
+ #if TCL_MAJOR_VERSION >= 8 && TCL_MINOR_VERSION >= 4
+    const
+ #endif
+@@ -106,12 +106,14 @@ elTclshLoop(int argc, char **argv, ElTclAppInitProc ap
+    }
+
+    /* configure standard path for packages */
++/*
+    obj = Tcl_GetVar2Ex(interp, "auto_path", NULL, TCL_GLOBAL_ONLY);
+    if (!obj) obj = Tcl_NewListObj(0, NULL);
+
+    Tcl_ListObjAppendElement(interp, obj, Tcl_NewStringObj(ELTCLSH_DATA, -1));
+    Tcl_SetVar2Ex(interp, "auto_path", NULL, obj, TCL_GLOBAL_ONLY);
+
++*/
+
+    /* require eltclsh extension. In case this fails (typically during install,
+     * before pkgIndex.tcl is built), print the error message but don't give up
Index: patches/patch-tcl_init_tcl
===================================================================
RCS file: patches/patch-tcl_init_tcl
diff -N patches/patch-tcl_init_tcl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-tcl_init_tcl  10 Oct 2012 06:15:19 -0000
@@ -0,0 +1,38 @@
+$OpenBSD$
+
+Adjust for OpenBSD-specific Tcl package path layout.
+
+--- tcl/init.tcl.orig  Thu Jun 16 11:17:42 2011
++++ tcl/init.tcl       Wed Oct 10 01:40:07 2012
+@@ -30,10 +30,24 @@
+ #
+
+ # Make packages in that directory available
+-eval lappend auto_path $eltcl_pkgPath
++set na {}
++foreach p $auto_path {
++      lappend na [file normalize $p]
++}
++foreach p $eltcl_pkgPath {
++      if {[set np [file normalize $p]] ni $na} {
++              lappend auto_path $p
++              lappend na $np
++      }
++}
+ if { [info exists env(ELTCLLIBPATH)] } {
+-    eval lappend auto_path $env(ELTCLLIBPATH)
++      foreach p $env(ELTCLLIBPATH) {
++              if {[file normalize $p] ni $na} {
++                      lappend auto_path $p
++              }
++      }
+ }
++unset na p np
+
+ # Install default signal handlers (if the signal command exists)
+ if { [info command signal] != "" } { namespace eval el {
+@@ -82,3 +96,4 @@ if {[info exists ::argv]} {
+     unset i
+     catch { unset pkgname }
+ }
++unset m
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/lang/eltclsh/pkg/DESCR,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR   29 Dec 2003 11:24:57 -0000      1.1.1.1
+++ pkg/DESCR   10 Oct 2012 06:15:19 -0000
@@ -1,9 +1,9 @@
-eltclsh (editline tcl shell) is an interactive shell for the TCL
+eltclsh (editline tcl shell) is an interactive shell for the Tcl
 programming language. It provides command line editing, history
 browsing as well as variables and command completion thanks to
 editline features. The completion engine is programmable in a way
-similar to tcsh, and comes with an intelligent completion for the full
-tcl language by default.
+similar to tcsh, and comes with an intelligent completion for the
+full Tcl language by default.

 The package also provides elwish, an interactive interpreter for the
 Tk toolkit.
Index: pkg/PFRAG.shared
===================================================================
RCS file: pkg/PFRAG.shared
diff -N pkg/PFRAG.shared
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pkg/PFRAG.shared    10 Oct 2012 06:15:19 -0000
@@ -0,0 +1,2 @@
+@comment $OpenBSD$
+lib/tcl/eltcl/libeltclsh.so
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/eltclsh/pkg/PLIST,v
retrieving revision 1.4
diff -u -p -r1.4 PLIST
--- pkg/PLIST   23 Oct 2010 21:49:06 -0000      1.4
+++ pkg/PLIST   10 Oct 2012 06:15:19 -0000
@@ -1,9 +1,11 @@
 @comment $OpenBSD: PLIST,v 1.4 2010/10/23 21:49:06 naddy Exp $
+%%SHARED%%
 @bin bin/eltclsh
 @bin bin/elwish
+lib/tcl/
+lib/tcl/eltcl/
+lib/tcl/eltcl/complete.tcl
+lib/tcl/eltcl/init.tcl
+lib/tcl/eltcl/pkgIndex.tcl
+lib/tcl/eltcl/tools.tcl
 @man man/man1/eltclsh.1
-share/eltcl/
-share/eltcl/complete.tcl
-share/eltcl/init.tcl
-share/eltcl/pkgIndex.tcl
-share/eltcl/tools.tcl

Reply via email to