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, + +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"