summaryrefslogtreecommitdiff
path: root/development/ucblogo
diff options
context:
space:
mode:
Diffstat (limited to 'development/ucblogo')
-rw-r--r--development/ucblogo/01-makefiles.patch173
-rw-r--r--development/ucblogo/README7
-rw-r--r--development/ucblogo/slack-desc19
-rw-r--r--development/ucblogo/ucblogo.SlackBuild79
-rw-r--r--development/ucblogo/ucblogo.info10
5 files changed, 288 insertions, 0 deletions
diff --git a/development/ucblogo/01-makefiles.patch b/development/ucblogo/01-makefiles.patch
new file mode 100644
index 0000000000..5827abf49c
--- /dev/null
+++ b/development/ucblogo/01-makefiles.patch
@@ -0,0 +1,173 @@
+diff -Nur ucblogo-6.0/docs/makefile ucblogo-6.0.new/docs/makefile
+--- ucblogo-6.0/docs/makefile 2008-08-19 21:56:59.000000000 +0200
++++ ucblogo-6.0.new/docs/makefile 2014-12-19 01:16:37.021678595 +0100
+@@ -1,6 +1,6 @@
+ BUILDIR = `pwd`
+ INFODIR = $(prefix)/info
+-DOCSDIR = $(LIBLOC)/docs
++DOCSDIR = $(prefix)/doc/ucblogo-6.0
+ HTMLDIR = $(DOCSDIR)/html
+
+ all: usermanual.ps usermanual.pdf html/usermanual_1.html ucblogo.info
+@@ -30,9 +30,11 @@
+ ship:
+ -rm -f *.{aux,cp,cps,dvi,fn,ky,log,pg,toc,tp,vr}
+
+-install: all
++#install: all
++install:
+ for d in $(INFODIR) $(DOCSDIR) $(HTMLDIR); do [ -d $$d ] || mkdir -p $$d || exit 1; done
+- -cp -f *.info* $(INFODIR)/.
++ -gzip *.info*
++ -cp -f *.info.gz* $(INFODIR)/.
+ -cp -f html/*.html $(HTMLDIR)/.
+ -cp -f usermanual.ps $(DOCSDIR)/.
+ -cp -f usermanual.pdf $(DOCSDIR)/.
+diff -Nur ucblogo-6.0/makefile ucblogo-6.0.new/makefile
+--- ucblogo-6.0/makefile 2008-09-13 23:21:18.000000000 +0200
++++ ucblogo-6.0.new/makefile 1970-01-01 01:00:00.000000000 +0100
+@@ -1,102 +0,0 @@
+-CC = gcc
+-CFLAGS = -g -O -DHAVE_WX -O0
+-CXX = g++
+-CXXFLAGS = -g -DHAVE_WX -I/usr/local/lib/wx/include/gtk2-ansi-release-static-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -pthread
+-LDFLAGS =
+-LIBS = -lbsd -lm -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk2_richtext-2.8.a /usr/local/lib/libwx_gtk2_aui-2.8.a /usr/local/lib/libwx_gtk2_xrc-2.8.a /usr/local/lib/libwx_gtk2_qa-2.8.a /usr/local/lib/libwx_gtk2_html-2.8.a /usr/local/lib/libwx_gtk2_adv-2.8.a /usr/local/lib/libwx_gtk2_core-2.8.a /usr/local/lib/libwx_base_xml-2.8.a /usr/local/lib/libwx_base_net-2.8.a /usr/local/lib/libwx_base-2.8.a -pthread -L/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lXinerama -lXxf86vm -lSM -lpng -ljpeg -ltiff -lexpat -lz -ldl -lm -ltermcap -lX11
+-prefix = /usr/local
+-BINDIR = $(prefix)/bin
+-LIBLOC = $(prefix)/lib/logo
+-LINKER = $(CXX)
+-
+-# LIBLOC = `pwd`
+-
+-OBJS = coms.o error.o eval.o files.o graphics.o init.o intern.o \
+- libloc.o lists.o logodata.o main.o math.o mem.o paren.o parse.o \
+- print.o wrksp.o nographics.o svn.o wxMain.o wxTerminal.o wxTurtleGraphics.o TextEditor.o wxterm.o
+-
+-SRCS = coms.c error.c eval.c files.c graphics.c init.c intern.c \
+- libloc.c lists.c logodata.c main.c math.c mem.c paren.c parse.c \
+- print.c wrksp.c nographics.c wxMain.cpp wxTerminal.cpp wxTurtleGraphics.cpp TextEditor.cpp wxterm.c
+-
+-HDRS = globals.h logo.h xgraphics.h
+-
+-logo: $(OBJS)
+- $(LINKER) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o logo
+-
+-everything: logo logolib/Messages helpfiles helpfiles/HELPCONTENTS
+-#logo-mode
+-
+-mem.o: mem.c
+- $(CC) $(CFLAGS) -O0 -c mem.c
+-
+-svn.c: $(SRCS)
+- echo 'char* SVN = "('`svnversion|tr -d '\r'`')";' > svn.c
+-
+-tags: $(SRCS)
+- ctags --format=1 -N $(SRCS) $(HDRS)
+-# ctags -t $(SRCS) $(HDRS)
+-
+-libloc.c:
+- echo 'char *libloc="'$(LIBLOC)'/logolib";' > libloc.c
+- echo 'char *helploc="'$(LIBLOC)'/helpfiles";' >> libloc.c
+- echo 'char *cslsloc="'$(LIBLOC)'/csls";' >> libloc.c
+- echo 'char *temploc="/tmp";' >> libloc.c
+- echo 'char *separator="/";' >> libloc.c
+-
+-logolib/Messages: makelib Messages
+- chmod +x makelib
+- ./makelib
+- cp -f Messages logolib
+-
+-helpfiles:
+- mkdir helpfiles
+-
+-helpfiles/HELPCONTENTS: makehelp usermanual
+- ./makehelp
+- sort helptemp | pr -5 -t -l999 -w80 >> helpfiles/HELPCONTENTS
+- rm helptemp
+-
+-makehelp: makehelp.c
+- $(CC) -o makehelp makehelp.c
+-
+-clean:
+- rm -f *.o libloc.c
+-# 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; $(MAKE) ship
+- cd docs; $(MAKE) ship
+-
+-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) $(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
+-
+-logo-mode:
+-# (cd emacs; prefix=$(prefix) LIBLOC=$(LIBLOC) BINDIR=$(BINDIR) $(MAKE))
+-# @prefix=$(prefix); LIBLOC=$(LIBLOC); BINDIR=$(BINDIR); export prefix LIBLOC BINDIR; cd emacs; $(MAKE)
+-
+-make-docs:
+- (cd docs; prefix=$(prefix) LIBLOC=$(LIBLOC) $(MAKE) all)
+-
+-mac: all
+- mkdir -p UCBLogo.app
+- mkdir -p UCBLogo.app/Contents
+- cp Info.plist UCBLogo.app/Contents/
+- cp PkgInfo UCBLogo.app/Contents/
+- cp pbdevelopment.plist UCBLogo.app/Contents/
+- mkdir -p UCBLogo.app/Contents/Resources
+- cp csls/[a-z]* UCBLogo.app/Contents/Resources/csls
+- cp -r helpfiles UCBLogo.app/Contents/Resources/
+- cp -r logolib UCBLogo.app/Contents/Resources/
+- cp logo.icns UCBLogo.app/Contents/Resources/
+- mkdir -p UCBLogo.app/Contents/MacOS/
+- cp logo UCBLogo.app/Contents/MacOS/UCBLogo
+diff -Nur ucblogo-6.0/makefile.in ucblogo-6.0.new/makefile.in
+--- ucblogo-6.0/makefile.in 2008-09-14 01:27:17.000000000 +0200
++++ ucblogo-6.0.new/makefile.in 2014-12-19 00:46:50.621593132 +0100
+@@ -24,7 +24,7 @@
+ logo: $(OBJS)
+ $(LINKER) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o logo
+
+-everything: logo logolib/Messages helpfiles helpfiles/HELPCONTENTS
++all: logo logolib/Messages helpfiles helpfiles/HELPCONTENTS
+ #logo-mode
+
+ mem.o: mem.c
+@@ -71,13 +71,14 @@
+ cd docs; $(MAKE) ship
+
+ 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/.
++# for d in $(BINDIR) $(LIBLOC) $(LIBLOC)/logolib $(LIBLOC)/helpfiles $(LIBLOC)/csls; do [ -d $$d ] || mkdir -p $(DESTDIR)/$$d || exit 1; done
++ for d in $(BINDIR) $(LIBLOC) $(LIBLOC)/logolib $(LIBLOC)/helpfiles $(LIBLOC)/csls; do mkdir -p $(DESTDIR)/$$d || exit 1; done
++ cp logo $(DESTDIR)$(BINDIR)/.
++ cp -f logolib/* $(DESTDIR)$(LIBLOC)/logolib/.
++ cp -f helpfiles/* $(DESTDIR)$(LIBLOC)/helpfiles/.
++ cp -rf csls/* $(DESTDIR)$(LIBLOC)/csls/.
+ # (cd emacs; prefix=$(prefix) LIBLOC=$(LIBLOC) BINDIR=$(BINDIR) $(MAKE) install)
+- (cd docs; prefix=$(prefix) LIBLOC=$(LIBLOC) BINDIR=$(BINDIR) $(MAKE) install)
++ (cd docs; prefix=$(DESTDIR)$(prefix) LIBLOC=$(DESTDIR)$(LIBLOC) BINDIR=$(DESTDIR)$(BINDIR) $(MAKE) install)
+ # prefix=$(prefix); LIBLOC=$(LIBLOC); BINDIR=$(BINDIR); export prefix LIBLOC BINDIR; cd emacs; $(MAKE) install
+
+ logo-mode:
+@@ -85,7 +86,7 @@
+ # @prefix=$(prefix); LIBLOC=$(LIBLOC); BINDIR=$(BINDIR); export prefix LIBLOC BINDIR; cd emacs; $(MAKE)
+
+ make-docs:
+- (cd docs; prefix=$(prefix) LIBLOC=$(LIBLOC) $(MAKE) all)
++ (cd docs; prefix=$(DESTDIR)$(prefix) LIBLOC=$(DESTDIR)$(LIBLOC) $(MAKE) all)
+
+ mac: all
+ mkdir -p UCBLogo.app
diff --git a/development/ucblogo/README b/development/ucblogo/README
new file mode 100644
index 0000000000..f12f875086
--- /dev/null
+++ b/development/ucblogo/README
@@ -0,0 +1,7 @@
+Berkeley Logo is a freeware interpreter written by Brian Harvey along with
+several students (Major contributors are Daniel van Blerkom, Khang Dao,
+Michael Katz, Douglas Orleans, and Sanford Owings.) It's available for
+Unix/Linux, MacOS X, Windows - complete with C source code. A version for
+One Laptop Per Child is also available (and also older version - BLogo -
+is available for MS/PC-DOS). If you think Logo is just a graphics language
+for little kids, check out sample programs that should impress you.
diff --git a/development/ucblogo/slack-desc b/development/ucblogo/slack-desc
new file mode 100644
index 0000000000..618993a9f1
--- /dev/null
+++ b/development/ucblogo/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ucblogo: ucblogo (programming language)
+ucblogo:
+ucblogo: Berkeley Logo is a freeware interpreter available for Unix/Linux,
+ucblogo: MacOS X, Windows, One Laptop Per Child, and MS/PC-DOS (as older
+ucblogo: version - BLogo), complete with C source code.
+ucblogo:
+ucblogo:
+ucblogo: http://www.cs.berkeley.edu/~bh/logo.html
+ucblogo:
+ucblogo:
+ucblogo:
diff --git a/development/ucblogo/ucblogo.SlackBuild b/development/ucblogo/ucblogo.SlackBuild
new file mode 100644
index 0000000000..0b5ebb94bb
--- /dev/null
+++ b/development/ucblogo/ucblogo.SlackBuild
@@ -0,0 +1,79 @@
+#!/bin/sh
+
+# Slackware build script for ucblogo
+
+# Written by Zbigniew Baniewski, <Zbigniew [dot] Baniewski [at] gmail [dot] com>
+
+PRGNAM=ucblogo
+VERSION=${VERSION:-6.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar zxvf $CWD/${PRGNAM}.tar.gz
+cat $CWD/01-makefiles.patch | patch -p0 || exit
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --with-x \
+ --build=$ARCH-slackware-linux
+
+ make
+ make install DESTDIR=$PKG
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README TODO changes.txt gpl plm usermanual logologo.ico logologo.png ucblogo.png ucblogo.xpm \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/development/ucblogo/ucblogo.info b/development/ucblogo/ucblogo.info
new file mode 100644
index 0000000000..9ac4719008
--- /dev/null
+++ b/development/ucblogo/ucblogo.info
@@ -0,0 +1,10 @@
+PRGNAM="ucblogo"
+VERSION="6.0"
+HOMEPAGE="http://www.cs.berkeley.edu/~bh/logo.html"
+DOWNLOAD="ftp://ftp.cs.berkeley.edu/pub/ucblogo/ucblogo.tar.gz"
+MD5SUM="36a56765b18136c817880c5381af196b"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="libbsd"
+MAINTAINER="Zbigniew Baniewski"
+EMAIL="Zbigniew [dot] Baniewski [at] gmail [dot] com"