summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorryoon <ryoon>2015-10-11 07:02:39 +0000
committerryoon <ryoon>2015-10-11 07:02:39 +0000
commit6ef82eb7b6cf9bb5aadb9105c4941d8734339c25 (patch)
tree25f297c20c6958e30366ca8a724714245533b9fe
parent8134f89d79a9e09f876c4d9cebf5e7e95117fa70 (diff)
downloadpkgsrc-6ef82eb7b6cf9bb5aadb9105c4941d8734339c25.tar.gz
Update to 6.0
Changelog: All platforms: MAJOR CHANGE: All platforms now use a uniform graphical user interface, based on the wxWidgets library. A very simple editor is part of the package, no more external editor. This GUI is, so far, rather primitive, but provides a framework that should allow for many improvements relatively soon. There is a single Logo window that can be in fullscreen, splitscreen, or textscreen mode, like traditional Logo versions. INCOMPATIBLE CHANGE: RGB color lists, as used by PALETTE, SETPALETTE, etc., now take integer or non-integer values between 0 and 100 rather than integers between 0 and 65535. I don't like incompatible changes, but having now actually tried teaching kids with Berkeley Logo, I've learned that they have trouble understanding the old system; their colors all come out near-black. New commands PRINTPICT and PRINTTEXT to print the graphics and text screens, respectively. If called with an argument (in parentheses), they print preview instead. (wxWidgets only) New commands INCREASEFONT and DECREASEFONT to make the text window font one size bigger or smaller, SETTEXTSIZE to set the absolute size, SETLABELHEIGHT to adjust graphics-window text size, and SETFONT to set the font name for all windows. (wxWidgets only) SETTEXTCOLOR (SETTC) command, formerly just in DOS version, works on all platforms. It takes two color number or RGB lists as inputs, first the text color, then the text background color. (wxWidgets only) New command FILLED takes two arguments, a color and an instruction list. The instructions should draw a simple closed curve (but if not closed, FILLED will add a turtle move back to the starting point). The instructions are carried out, and then the area enclosed by the curve is filled using the given color, regardless of other lines that might intersect that area. (wxWidgets only) Special variable BUTTONACT, if defined and nonempty, is an instruction list to be run when the user presses a mouse button. Special variable KEYACT, if ditto, is to be run when the user presses a key on the keyboard. It is the responsibility of the user code to handle the problem of a second mouse/keypress during the running of these instructions. New operation CLICKPOS outputs the position of the mouse at the moment when the mouse button was pressed. BUTTON outputs which button was most recently pressed, or zero if no button was pressed since the last call to BUTTON. (BUTTONP still reflects the actual current button status.) (wxWidgets only) The workspace management procedures (PO, TEXT, HELP, etc.) look in the library before deciding whether the name you give exists as a procedure or not, just the way running the procedure does. This is an incompatible change! The procedure formerly named BACKSLASHEDP or BACKSLASHED? is now called VBARREDP or VBARRED?, to reflect a longstanding change in its meaning. The old names are retained in the Logo library for backward compatibility. A command line argument consisting of just a hyphen means that all following command line arguments should be collected in a list, instead of taken as filenames to load. The list can be seen in the buried variable :COMMAND.LINE Logo looks in its library directory (e.g., /usr/local/lib/logo/logolib) for a file startup.lg, and runs it if found, before looking in the user's current directory for startup.lg and running that. A vertical bar that comes after a semicolon doesn't require a matching vertical bar to end the line. Fixed a garbage collector bug (although I don't know why it was a bug, alas). The buffer for saving pictures (for SAVEPICT and EPSPICT and for restoring the graphics window after it's hidden) has no size limit. INVOKE is a macro, so (INVOKE [IF ? < 0 [OUTPUT "NEGATIVE]] :X) will output from the caller, rather than from INVOKE. Improved error message "Runlist %s has more than one expression" for the case of a macro seen where an expression (that outputs a value) is needed: PRINT RUN [PRINT "A PRINT "B]. One-pixel moves from drawing turtle aren't saved in SAVEPICT buffer. (1 2 3) gives error message instead of blowing up. PRINT [~] (bracket after tilde) works (no line continuation). The check for END inside a multi-line instruction is correctly internationalized. APPLY [[][]] [] no longer crashes. APPLY copies the arg list, so the original list can't be modified by changes to the inputs (e.g., after an error). Better error message (don't know how) for too much inside parens and also the first one isn't a procedure name. Better error message for STOP or OUTPUT during a PAUSE. Fixed bug crashing backquote (`) in case of `[[,[...] ...]] Fixed bug giving "out of bounds" message for line just on screen edge. Fixed bug that ignored TEST outside of a procedure. Turtle is invisible during drawing (to speed it up).
-rw-r--r--lang/ucblogo/Makefile23
-rw-r--r--lang/ucblogo/PLIST48
-rw-r--r--lang/ucblogo/distinfo13
-rw-r--r--lang/ucblogo/patches/patch-aa54
-rw-r--r--lang/ucblogo/patches/patch-docs_makefile17
-rw-r--r--lang/ucblogo/patches/patch-graphics.c199
6 files changed, 253 insertions, 101 deletions
diff --git a/lang/ucblogo/Makefile b/lang/ucblogo/Makefile
index 5c7452b92ca..d274649c918 100644
--- a/lang/ucblogo/Makefile
+++ b/lang/ucblogo/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.25 2015/08/18 07:31:11 wiz Exp $
+# $NetBSD: Makefile,v 1.26 2015/10/11 07:02:39 ryoon Exp $
-DISTNAME= ucblogo-5.3
-PKGREVISION= 5
+DISTNAME= ucblogo
+PKGNAME= ${DISTNAME}-6.0
CATEGORIES= lang
-MASTER_SITES= ftp://ftp.cs.berkeley.edu/pub/ucblogo/
+MASTER_SITES= http://www.cs.berkeley.edu/~bh/downloads/
# Not at GNU mirrors yet
# ${MASTER_SITE_GNU:=non-gnu/ucblogo/}
@@ -11,16 +11,21 @@ MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://http.cs.berkeley.edu/~bh/logo.html
COMMENT= Brian Harvey's logo language interpreter
+DIST_SUBDIR= ${PKGNAME_NOREV}
+WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
+
MAKE_FILE= makefile
+BUILD_TARGET= # empty
GNU_CONFIGURE= yes
# otherwise ./configure guesses -L incorrectly
LIBS+= -L${X11BASE}/lib
-post-install:
- ${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/doc/ucblogo
- ${INSTALL_DATA} ${WRKSRC}/usermanual ${DESTDIR}${PREFIX}/share/doc/ucblogo/usermanual.txt
- ${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/doc/ucblogo/html
- ${CP} ${WRKSRC}/emacs/docs/*.html ${DESTDIR}${PREFIX}/share/doc/ucblogo/html/
+USE_TOOLS+= makeinfo
+INSTALLATION_DIRS= info
+
+post-extract:
+ ${RM} ${WRKSRC}/config.cache
+ ${RM} -rf ${WRKSRC}/csls/CVS
BUILDLINK_DEPMETHOD.libXt?= build
diff --git a/lang/ucblogo/PLIST b/lang/ucblogo/PLIST
index 82f69b55bb2..6dfa47ae31b 100644
--- a/lang/ucblogo/PLIST
+++ b/lang/ucblogo/PLIST
@@ -1,5 +1,6 @@
-@comment $NetBSD: PLIST,v 1.3 2009/06/14 18:03:44 joerg Exp $
+@comment $NetBSD: PLIST,v 1.4 2015/10/11 07:02:39 ryoon Exp $
bin/logo
+info/ucblogo.info
share/doc/ucblogo/html/usermanual.html
share/doc/ucblogo/html/usermanual_1.html
share/doc/ucblogo/html/usermanual_10.html
@@ -21,17 +22,24 @@ share/doc/ucblogo/html/usermanual_abt.html
share/doc/ucblogo/html/usermanual_fot.html
share/doc/ucblogo/html/usermanual_ovr.html
share/doc/ucblogo/html/usermanual_toc.html
-share/doc/ucblogo/usermanual.txt
+share/doc/ucblogo/usermanual
+share/doc/ucblogo/usermanual.pdf
+share/doc/ucblogo/usermanual.ps
+share/doc/ucblogo/usermanual.texi
share/ucblogo/csls/algs
share/ucblogo/csls/basic
+share/ucblogo/csls/buttons
share/ucblogo/csls/cards
share/ucblogo/csls/crypto
share/ucblogo/csls/diff
share/ucblogo/csls/doctor
+share/ucblogo/csls/dotgame
share/ucblogo/csls/format
share/ucblogo/csls/fsm
+share/ucblogo/csls/master
share/ucblogo/csls/match
share/ucblogo/csls/math
+share/ucblogo/csls/mines
share/ucblogo/csls/multi
share/ucblogo/csls/pascal
share/ucblogo/csls/playfair
@@ -40,9 +48,11 @@ share/ucblogo/csls/poker
share/ucblogo/csls/pour
share/ucblogo/csls/psort
share/ucblogo/csls/solitaire
+share/ucblogo/csls/streams
share/ucblogo/csls/student
share/ucblogo/csls/tower
share/ucblogo/csls/ttt
+share/ucblogo/helpfiles/ALL_NAMES
share/ucblogo/helpfiles/HELPCONTENTS
share/ucblogo/helpfiles/`
share/ucblogo/helpfiles/allopen
@@ -78,6 +88,9 @@ share/ucblogo/helpfiles/buryname
share/ucblogo/helpfiles/butfirst
share/ucblogo/helpfiles/butfirsts
share/ucblogo/helpfiles/butlast
+share/ucblogo/helpfiles/button
+share/ucblogo/helpfiles/buttonact
+share/ucblogo/helpfiles/buttonp
share/ucblogo/helpfiles/bye
share/ucblogo/helpfiles/cascade
share/ucblogo/helpfiles/case
@@ -87,10 +100,12 @@ share/ucblogo/helpfiles/char
share/ucblogo/helpfiles/clean
share/ucblogo/helpfiles/clearscreen
share/ucblogo/helpfiles/cleartext
+share/ucblogo/helpfiles/clickpos
share/ucblogo/helpfiles/close
share/ucblogo/helpfiles/closeall
share/ucblogo/helpfiles/co
share/ucblogo/helpfiles/combine
+share/ucblogo/helpfiles/commandline
share/ucblogo/helpfiles/cond
share/ucblogo/helpfiles/contents
share/ucblogo/helpfiles/continue
@@ -99,9 +114,11 @@ share/ucblogo/helpfiles/cos
share/ucblogo/helpfiles/count
share/ucblogo/helpfiles/crossmap
share/ucblogo/helpfiles/cs
+share/ucblogo/helpfiles/cslsload
share/ucblogo/helpfiles/ct
share/ucblogo/helpfiles/cursor
share/ucblogo/helpfiles/ddefmacro
+share/ucblogo/helpfiles/decreasefont
share/ucblogo/helpfiles/define
share/ucblogo/helpfiles/definedp
share/ucblogo/helpfiles/deq
@@ -146,10 +163,12 @@ share/ucblogo/helpfiles/fd
share/ucblogo/helpfiles/fence
share/ucblogo/helpfiles/filep
share/ucblogo/helpfiles/fill
+share/ucblogo/helpfiles/filled
share/ucblogo/helpfiles/filter
share/ucblogo/helpfiles/find
share/ucblogo/helpfiles/first
share/ucblogo/helpfiles/firsts
+share/ucblogo/helpfiles/font
share/ucblogo/helpfiles/for
share/ucblogo/helpfiles/foreach
share/ucblogo/helpfiles/forever
@@ -165,6 +184,7 @@ share/ucblogo/helpfiles/gensym
share/ucblogo/helpfiles/global
share/ucblogo/helpfiles/goto
share/ucblogo/helpfiles/gprop
+share/ucblogo/helpfiles/greaterequalp
share/ucblogo/helpfiles/greaterp
share/ucblogo/helpfiles/heading
share/ucblogo/helpfiles/help
@@ -178,14 +198,18 @@ share/ucblogo/helpfiles/iffalse
share/ucblogo/helpfiles/ift
share/ucblogo/helpfiles/iftrue
share/ucblogo/helpfiles/ignore
+share/ucblogo/helpfiles/increasefont
share/ucblogo/helpfiles/int
share/ucblogo/helpfiles/invoke
share/ucblogo/helpfiles/iseq
share/ucblogo/helpfiles/item
+share/ucblogo/helpfiles/keyact
share/ucblogo/helpfiles/keyp
share/ucblogo/helpfiles/label
+share/ucblogo/helpfiles/labelsize
share/ucblogo/helpfiles/last
share/ucblogo/helpfiles/left
+share/ucblogo/helpfiles/lessequalp
share/ucblogo/helpfiles/lessp
share/ucblogo/helpfiles/list
share/ucblogo/helpfiles/listp
@@ -197,6 +221,8 @@ share/ucblogo/helpfiles/loadpict
share/ucblogo/helpfiles/local
share/ucblogo/helpfiles/localmake
share/ucblogo/helpfiles/log10
+share/ucblogo/helpfiles/logoplatform
+share/ucblogo/helpfiles/logoversion
share/ucblogo/helpfiles/lowercase
share/ucblogo/helpfiles/lput
share/ucblogo/helpfiles/lshift
@@ -213,6 +239,7 @@ share/ucblogo/helpfiles/member
share/ucblogo/helpfiles/memberp
share/ucblogo/helpfiles/minus
share/ucblogo/helpfiles/modulo
+share/ucblogo/helpfiles/mousepos
share/ucblogo/helpfiles/name
share/ucblogo/helpfiles/namelist
share/ucblogo/helpfiles/namep
@@ -221,6 +248,7 @@ share/ucblogo/helpfiles/nodes
share/ucblogo/helpfiles/nodribble
share/ucblogo/helpfiles/norefresh
share/ucblogo/helpfiles/not
+share/ucblogo/helpfiles/notequalp
share/ucblogo/helpfiles/numberp
share/ucblogo/helpfiles/op
share/ucblogo/helpfiles/openappend
@@ -268,8 +296,10 @@ share/ucblogo/helpfiles/ppt
share/ucblogo/helpfiles/pr
share/ucblogo/helpfiles/prefix
share/ucblogo/helpfiles/primitivep
+share/ucblogo/helpfiles/primitives
share/ucblogo/helpfiles/print
share/ucblogo/helpfiles/printdepthlimit
+share/ucblogo/helpfiles/printout
share/ucblogo/helpfiles/printwidthlimit
share/ucblogo/helpfiles/procedurep
share/ucblogo/helpfiles/procedures
@@ -323,12 +353,15 @@ share/ucblogo/helpfiles/se
share/ucblogo/helpfiles/sentence
share/ucblogo/helpfiles/setbackground
share/ucblogo/helpfiles/setbg
+share/ucblogo/helpfiles/setcslsloc
share/ucblogo/helpfiles/setcursor
share/ucblogo/helpfiles/seteditor
+share/ucblogo/helpfiles/setfont
share/ucblogo/helpfiles/seth
share/ucblogo/helpfiles/setheading
share/ucblogo/helpfiles/sethelploc
share/ucblogo/helpfiles/setitem
+share/ucblogo/helpfiles/setlabelheight
share/ucblogo/helpfiles/setlibloc
share/ucblogo/helpfiles/setmargins
share/ucblogo/helpfiles/setpalette
@@ -345,6 +378,8 @@ share/ucblogo/helpfiles/setscrunch
share/ucblogo/helpfiles/settc
share/ucblogo/helpfiles/settemploc
share/ucblogo/helpfiles/settextcolor
+share/ucblogo/helpfiles/settextfont
+share/ucblogo/helpfiles/settextsize
share/ucblogo/helpfiles/setwrite
share/ucblogo/helpfiles/setwritepos
share/ucblogo/helpfiles/setx
@@ -371,6 +406,7 @@ share/ucblogo/helpfiles/tag
share/ucblogo/helpfiles/test
share/ucblogo/helpfiles/text
share/ucblogo/helpfiles/textscreen
+share/ucblogo/helpfiles/textsize
share/ucblogo/helpfiles/thing
share/ucblogo/helpfiles/throw
share/ucblogo/helpfiles/to
@@ -391,6 +427,7 @@ share/ucblogo/helpfiles/until
share/ucblogo/helpfiles/untrace
share/ucblogo/helpfiles/uppercase
share/ucblogo/helpfiles/usealternatenames
+share/ucblogo/helpfiles/vbarredp
share/ucblogo/helpfiles/wait
share/ucblogo/helpfiles/while
share/ucblogo/helpfiles/window
@@ -402,11 +439,14 @@ share/ucblogo/helpfiles/writer
share/ucblogo/helpfiles/xcor
share/ucblogo/helpfiles/ycor
share/ucblogo/logolib/#
-share/ucblogo/logolib/?rest
share/ucblogo/logolib/Messages
share/ucblogo/logolib/Messages.fr
share/ucblogo/logolib/Messages.sp
+share/ucblogo/logolib/Messages.zh_TW
+share/ucblogo/logolib/Qrest
share/ucblogo/logolib/`
+share/ucblogo/logolib/backslashedQ
+share/ucblogo/logolib/backslashedp
share/ucblogo/logolib/buryall
share/ucblogo/logolib/buryname
share/ucblogo/logolib/cascade
@@ -428,7 +468,7 @@ share/ucblogo/logolib/edps
share/ucblogo/logolib/emacs.debug
share/ucblogo/logolib/ern
share/ucblogo/logolib/erpl
-share/ucblogo/logolib/file?
+share/ucblogo/logolib/fileQ
share/ucblogo/logolib/filep
share/ucblogo/logolib/filter
share/ucblogo/logolib/find
diff --git a/lang/ucblogo/distinfo b/lang/ucblogo/distinfo
index edca5ad3bc6..fe5496fa725 100644
--- a/lang/ucblogo/distinfo
+++ b/lang/ucblogo/distinfo
@@ -1,11 +1,12 @@
-$NetBSD: distinfo,v 1.8 2013/07/18 12:05:09 joerg Exp $
+$NetBSD: distinfo,v 1.9 2015/10/11 07:02:39 ryoon Exp $
-SHA1 (ucblogo-5.3.tar.gz) = abe27b2a36cc5d8dc4208fba04569e82cc163719
-RMD160 (ucblogo-5.3.tar.gz) = 9dfaf9886335ff7624e72cd23d0fd28a80e679c3
-Size (ucblogo-5.3.tar.gz) = 1180188 bytes
-SHA1 (patch-aa) = 7e3ab4e800f726dea6e6a46eb22ee6b7b8b03509
+SHA1 (ucblogo-6.0/ucblogo.tar.gz) = ad62c689c264b1aeb7bd58dd9c08ca602bade8f1
+RMD160 (ucblogo-6.0/ucblogo.tar.gz) = 7cd9ec8eeff00fb3440f5036d57a9b29383ab310
+Size (ucblogo-6.0/ucblogo.tar.gz) = 6694879 bytes
+SHA1 (patch-aa) = 54cefcc2821247706675cf2466ef4f1452c9968f
SHA1 (patch-configure) = 329c31aed56a37b53383a3e7421fd9f429468f6c
-SHA1 (patch-graphics.c) = 5ebe5e76e07d5692105ca9f37c665924486f180a
+SHA1 (patch-docs_makefile) = 1c0efb2ee37dc535b3aabbf0a7ce02e40bc6ac52
+SHA1 (patch-graphics.c) = 00b99bfcf8785e66634786026950ac95a7872bd0
SHA1 (patch-makehelp.c) = e236bbf271337d6f45474c071f2ea26f14b09744
SHA1 (patch-print.c) = 48f6e453e260770a2a03b421c5a99dae35d7d41f
SHA1 (patch-term.c) = 621b4a5a02e0e6c150d8655957f945a81177cb08
diff --git a/lang/ucblogo/patches/patch-aa b/lang/ucblogo/patches/patch-aa
index 31281b65d20..000af1b2dc4 100644
--- a/lang/ucblogo/patches/patch-aa
+++ b/lang/ucblogo/patches/patch-aa
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa,v 1.4 2009/12/10 23:42:14 asau Exp $
+$NetBSD: patch-aa,v 1.5 2015/10/11 07:02:39 ryoon Exp $
---- makefile.in.orig 2002-09-12 02:02:00.000000000 +0400
-+++ makefile.in 2009-12-11 02:37:33.000000000 +0300
-@@ -3,8 +3,9 @@
+--- makefile.in.orig 2008-09-13 23:27:17.000000000 +0000
++++ makefile.in
+@@ -5,8 +5,9 @@ CXXFLAGS = -g @CXXFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @X_PRE_LIBS@ @X_LIBS@ @LIBS@ @X_EXTRA_LIBS@
prefix = @prefix@
@@ -10,53 +10,25 @@ $NetBSD: patch-aa,v 1.4 2009/12/10 23:42:14 asau Exp $
BINDIR = $(prefix)/bin
-LIBLOC = $(prefix)/lib/logo
+LIBLOC = $(datadir)/ucblogo
+ LINKER = @LINKER@
# LIBLOC = `pwd`
+@@ -70,12 +71,12 @@ ship:
+ # cd emacs; $(MAKE) ship
+ cd docs; $(MAKE) ship
-@@ -18,7 +19,7 @@
-
- HDRS = globals.h logo.h xgraphics.h
-
--all: logo logolib helpfiles helpfiles/HELPCONTENTS logo-mode
-+all: logo logolib helpfiles helpfiles/HELPCONTENTS
-
- mem.o: mem.c
- $(CC) $(CFLAGS) -O0 -c mem.c
-@@ -54,25 +55,25 @@
-
- clean:
- rm -f *.o libloc.c
-- cd emacs; gmake clean
-+ cd emacs; $(MAKE) clean
-
- ship:
- rm -f config.h config.cache config.log config.status
- rm -f makefile makehelp logo *.o libloc.c
-- cd emacs; gmake ship
-+ cd emacs; $(MAKE) ship
-
- install: all
+-install: all
- for d in $(BINDIR) $(LIBLOC) $(LIBLOC)/logolib $(LIBLOC)/helpfiles $(LIBLOC)/csls; do [ -d $$d ] || mkdir -p $$d || exit 1; done
- cp logo $(BINDIR)/.
- cp -f logolib/* $(LIBLOC)/logolib/.
- cp -f helpfiles/* $(LIBLOC)/helpfiles/.
- cp -f csls/* $(LIBLOC)/csls/.
-- (cd emacs; prefix=$(prefix) LIBLOC=$(LIBLOC) BINDIR=$(BINDIR) gmake install)
--# prefix=$(prefix); LIBLOC=$(LIBLOC); BINDIR=$(BINDIR); export prefix LIBLOC BINDIR; cd emacs; gmake install
++install:
+ for d in $(BINDIR) $(LIBLOC) $(LIBLOC)/logolib $(LIBLOC)/helpfiles $(LIBLOC)/csls; do [ -d $(DESTDIR)$$d ] || mkdir -p $(DESTDIR)$$d || exit 1; done
+ cp logo $(DESTDIR)$(BINDIR)/.
+ cp -f logolib/* $(DESTDIR)$(LIBLOC)/logolib/.
+ cp -f helpfiles/* $(DESTDIR)$(LIBLOC)/helpfiles/.
+ cp -f csls/* $(DESTDIR)$(LIBLOC)/csls/.
-+# (cd emacs; prefix=$(prefix) LIBLOC=$(LIBLOC) BINDIR=$(BINDIR) $(MAKE) install)
-+# prefix=$(prefix); LIBLOC=$(LIBLOC); BINDIR=$(BINDIR); export prefix LIBLOC BINDIR; cd emacs; $(MAKE) install
-
- logo-mode:
-- (cd emacs; prefix=$(prefix) LIBLOC=$(LIBLOC) BINDIR=$(BINDIR) gmake)
--# @prefix=$(prefix); LIBLOC=$(LIBLOC); BINDIR=$(BINDIR); export prefix LIBLOC BINDIR; cd emacs; gmake
-+ (cd emacs; prefix=$(prefix) LIBLOC=$(LIBLOC) BINDIR=$(BINDIR) $(MAKE))
-+# @prefix=$(prefix); LIBLOC=$(LIBLOC); BINDIR=$(BINDIR); export prefix LIBLOC BINDIR; cd emacs; $(MAKE)
-
- docs:
-- cd emacs; gmake docs
-+ cd emacs; $(MAKE) docs
+ # (cd emacs; prefix=$(prefix) LIBLOC=$(LIBLOC) BINDIR=$(BINDIR) $(MAKE) install)
+ (cd docs; prefix=$(prefix) LIBLOC=$(LIBLOC) BINDIR=$(BINDIR) $(MAKE) install)
+ # prefix=$(prefix); LIBLOC=$(LIBLOC); BINDIR=$(BINDIR); export prefix LIBLOC BINDIR; cd emacs; $(MAKE) install
diff --git a/lang/ucblogo/patches/patch-docs_makefile b/lang/ucblogo/patches/patch-docs_makefile
new file mode 100644
index 00000000000..92db9ddc90b
--- /dev/null
+++ b/lang/ucblogo/patches/patch-docs_makefile
@@ -0,0 +1,17 @@
+$NetBSD: patch-docs_makefile,v 1.1 2015/10/11 07:02:39 ryoon Exp $
+
+--- docs/makefile.orig 2008-08-19 19:56:59.000000000 +0000
++++ docs/makefile
+@@ -1,9 +1,9 @@
+ BUILDIR = `pwd`
+-INFODIR = $(prefix)/info
+-DOCSDIR = $(LIBLOC)/docs
++INFODIR = $(DESTDIR)$(prefix)/info
++DOCSDIR = $(DESTDIR)$(prefix)/share/doc/ucblogo
+ HTMLDIR = $(DOCSDIR)/html
+
+-all: usermanual.ps usermanual.pdf html/usermanual_1.html ucblogo.info
++all: html/usermanual_1.html ucblogo.info
+
+ ucblogo.info: usermanual.texi
+ makeinfo usermanual.texi
diff --git a/lang/ucblogo/patches/patch-graphics.c b/lang/ucblogo/patches/patch-graphics.c
index 857c9dca673..98f4dc38598 100644
--- a/lang/ucblogo/patches/patch-graphics.c
+++ b/lang/ucblogo/patches/patch-graphics.c
@@ -1,71 +1,170 @@
-$NetBSD: patch-graphics.c,v 1.1 2012/11/01 19:55:37 joerg Exp $
+$NetBSD: patch-graphics.c,v 1.2 2015/10/11 07:02:39 ryoon Exp $
---- graphics.c.orig 2012-10-30 22:02:54.000000000 +0000
+--- graphics.c.orig 2008-09-03 17:58:13.000000000 +0000
+++ graphics.c
-@@ -535,7 +535,7 @@ NODE *lback(NODE *arg) {
- }
+@@ -231,7 +231,7 @@ void draw_turtle_helper(void) {
+ FLONUM delta_x, delta_y;
+ #endif
+
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ prepare_to_draw_turtle;
+ save_pen(&saved_pen);
+ plain_xor_pen();
+@@ -276,7 +276,7 @@ void save_string(char *, int);
+ void save_arc(FLONUM, FLONUM, FLONUM, FLONUM, FLONUM, FLONUM, FLONUM, FLONUM);
+
+ void right(FLONUM a) {
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ draw_turtle();
+ turtle_heading += a;
+ turtle_heading = pfmod(turtle_heading,360.0);
+@@ -336,7 +336,7 @@ void forward(FLONUM d) {
+ // #ifndef WIN32
+ internal_hideturtle();
+ // #endif
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ draw_turtle();
+ forward_helper(d);
+ draw_turtle();
+@@ -570,7 +570,7 @@ NODE *lback(NODE *arg) {
NODE *lshowturtle(NODE *args) {
+ if(!graphics_setup) graphics_setup++;
- prepare_to_draw;
+ prepare_to_draw2(UNBOUND);
if (!turtle_shown) {
turtle_shown = TRUE;
draw_turtle();
-@@ -545,7 +545,7 @@ NODE *lshowturtle(NODE *args) {
- }
+@@ -582,7 +582,7 @@ NODE *lshowturtle(NODE *args) {
- NODE *lhideturtle(NODE *args) {
+ void internal_hideturtle() {
+ if(!graphics_setup) graphics_setup++;
- prepare_to_draw;
+ prepare_to_draw2(UNBOUND);
if (turtle_shown) {
draw_turtle();
turtle_shown = FALSE;
-@@ -874,7 +874,7 @@ NODE *llabel(NODE *arg) {
- *print_stringptr = '\0';
-
+@@ -616,7 +616,7 @@ NODE *lsetheading(NODE *arg) {
+
+ val = numeric_arg(arg);
if (NOT_THROWING) {
- prepare_to_draw;
+ prepare_to_draw2(UNBOUND);
draw_turtle();
- theLength = strlen(textbuf);
- #ifdef mac
-@@ -983,7 +983,7 @@ NODE *lsetpencolor(NODE *arg) {
- NODE *val = pos_int_arg(arg);
+ if (nodetype(val) == INT)
+ turtle_heading = (FLONUM)getint(val);
+@@ -720,7 +720,7 @@ NODE *lscrunch(NODE *args) {
+ }
+
+ NODE *lhome(NODE *args) {
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ out_of_bounds = FALSE;
+ setpos_bynumber((FLONUM)0.0, (FLONUM)0.0);
+ draw_turtle();
+@@ -734,7 +734,7 @@ void cs_helper(int centerp) {
+ #if defined(x_window) && !HAVE_WX
+ clearing_screen++;
+ #endif
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ clear_screen;
+ #if defined(x_window) && !HAVE_WX
+ clearing_screen==0;
+@@ -814,7 +814,7 @@ void setpos_commonpart(FLONUM target_x,
+ void setpos_bynumber(FLONUM target_x, FLONUM target_y) {
if (NOT_THROWING) {
- prepare_to_draw;
+ prepare_to_draw2(UNBOUND);
- set_pen_color(getint(val));
- save_color();
- done_drawing;
-@@ -995,7 +995,7 @@ NODE *lsetbackground(NODE *arg) {
- NODE *val = pos_int_arg(arg);
+ draw_turtle();
+ move_to(g_round(screen_x_coord), g_round(screen_y_coord));
+ setpos_commonpart(target_x, target_y);
+@@ -827,7 +827,7 @@ void setpos_helper(NODE *xnode, NODE *yn
+
+ if (NOT_THROWING) {
+ internal_hideturtle();
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ draw_turtle();
+ move_to(g_round(screen_x_coord), g_round(screen_y_coord));
+ target_x = ((xnode == NIL) ?
+@@ -884,7 +884,7 @@ NODE *lsety(NODE *args) {
+ }
+
+ NODE *lwrap(NODE *args) {
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ draw_turtle();
+ current_mode = wrapmode;
+ while (turtle_x > turtle_right_max) {
+@@ -907,7 +907,7 @@ NODE *lwrap(NODE *args) {
+ NODE *lfence(NODE *args) {
+ (void)lwrap(args); /* get turtle inside the fence */
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ draw_turtle();
+ current_mode = fencemode;
+ draw_turtle();
+@@ -916,7 +916,7 @@ NODE *lfence(NODE *args) {
+ }
+
+ NODE *lwindow(NODE *args) {
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ draw_turtle();
+ current_mode = windowmode;
+ draw_turtle();
+@@ -935,7 +935,7 @@ NODE *lturtlemode(NODE *args) {
+ }
+
+ NODE *lfill(NODE *args) {
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ draw_turtle();
+ logofill();
+ draw_turtle();
+@@ -964,7 +964,7 @@ NODE *llabel(NODE *arg) {
+ print_stringlen = old_stringlen;
+
if (NOT_THROWING) {
- prepare_to_draw;
+ prepare_to_draw2(UNBOUND);
- set_back_ground(getint(val));
- done_drawing;
+ draw_turtle();
+ theLength = strlen(textbuf);
+ #ifdef mac
+@@ -1085,7 +1085,7 @@ NODE *lsetpencolor(NODE *arg) {
+ NODE *val;
+
+ if (NOT_THROWING) {
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ if (is_list(car(arg))) {
+ val = make_intnode(PEN_COLOR_OFFSET);
+ lsetpalette(cons(val,arg));
+@@ -1107,7 +1107,7 @@ NODE *lsetbackground(NODE *arg) {
}
-@@ -1008,7 +1008,7 @@ NODE *lsetpalette(NODE *args) {
- int slotnum = (int)getint(slot);
-
- if (NOT_THROWING && (slotnum > 7)) {
-- prepare_to_draw;
-+ prepare_to_draw2(UNBOUND);
- set_palette(slotnum,
- (unsigned int)getint(car(arg)),
- (unsigned int)getint(cadr(arg)),
-@@ -1057,7 +1057,7 @@ NODE *lsetpensize(NODE *args) {
- NODE *arg = pos_int_vector_arg(args);
if (NOT_THROWING) {
- prepare_to_draw;
+ prepare_to_draw2(UNBOUND);
- set_pen_width((int)getint(car(arg)));
- set_pen_height((int)getint(cadr(arg)));
- save_size();
-@@ -1074,7 +1074,7 @@ NODE *lsetpenpattern(NODE *args) {
+ if (is_list(car(arg))) {
+ val = make_intnode(BACKGROUND_COLOR_OFFSET);
+ lsetpalette(cons(val,arg));
+@@ -1188,7 +1188,7 @@ void restore_palette(FILE *fp) {
+ NODE *lsetpensize(NODE *args) {
+ NODE *arg;
+
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ if (is_list(car(args))) {
+ arg = pos_int_vector_arg(args);
+ if (NOT_THROWING) {
+@@ -1216,7 +1216,7 @@ NODE *lsetpenpattern(NODE *args) {
arg = err_logo(BAD_DATA, arg);
if (NOT_THROWING) {
@@ -74,7 +173,7 @@ $NetBSD: patch-graphics.c,v 1.1 2012/11/01 19:55:37 joerg Exp $
set_list_pen_pattern(arg);
save_pattern();
done_drawing;
-@@ -1090,7 +1090,7 @@ NODE *lsetscrunch(NODE *args) {
+@@ -1232,7 +1232,7 @@ NODE *lsetscrunch(NODE *args) {
ynode = numeric_arg(cdr(args));
if (NOT_THROWING) {
@@ -83,16 +182,34 @@ $NetBSD: patch-graphics.c,v 1.1 2012/11/01 19:55:37 joerg Exp $
draw_turtle();
x_scale = (nodetype(xnode) == FLOATT) ? getfloat(xnode) :
(FLONUM)getint(xnode);
-@@ -1227,7 +1227,7 @@ NODE *larc(NODE *arg) {
- else
+@@ -1390,7 +1390,7 @@ NODE *larc(NODE *arg) {
radius = getfloat(val2);
+ internal_hideturtle();
- prepare_to_draw;
+ prepare_to_draw2(UNBOUND);
draw_turtle();
/* save and force turtle state */
-@@ -1582,7 +1582,7 @@ NODE *lloadpict(NODE *args) {
+@@ -1472,7 +1472,7 @@ NODE *lfilled(NODE *args) {
+ FLONUM x1,y1,lastx,lasty;
+ int old_refresh = refresh_p;
+
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ if (is_list(car(args))) {
+ val = make_intnode(FILLED_COLOR_OFFSET);
+ lsetpalette(cons(val,args));
+@@ -1834,7 +1834,7 @@ void redraw_graphics(void) {
+ return;
+ }
+
+- prepare_to_draw;
++ prepare_to_draw2(UNBOUND);
+ if(!graphics_setup){
+ done_drawing;
+ return;
+@@ -2074,7 +2074,7 @@ NODE *lloadpict(NODE *args) {
lopenread(args);
#endif
if (NOT_THROWING) {
@@ -100,4 +217,4 @@ $NetBSD: patch-graphics.c,v 1.1 2012/11/01 19:55:37 joerg Exp $
+ prepare_to_draw2(UNBOUND);
fp = (FILE *)file_list->n_obj;
restore_palette(fp);
- fread(&record_index, sizeof(FIXNUM), 1, fp);
+ fread(&rec_idx, sizeof(FIXNUM), 1, fp);