Bug 160367 - [new port] devel/basic256: an attempt to port basic256 to FreeBSD
Summary: [new port] devel/basic256: an attempt to port basic256 to FreeBSD
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Wen Heping
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-01 16:40 UTC by Fernando Apesteguía
Modified: 2011-10-11 08:50 UTC (History)
0 users

See Also:


Attachments
file.shar (9.54 KB, text/plain)
2011-09-01 16:40 UTC, Fernando Apesteguía
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fernando Apesteguía freebsd_committer 2011-09-01 16:40:08 UTC
Port for BASIC256.

BASIC-256 is an easy to use version of BASIC designed to teach anybody (especially middle and high-school students) the basics of computer programming. It uses traditional control structures like gosub, for/next, and goto, which helps kids easily see how program flow-control works. It has a built-in graphics mode which lets them draw pictures on screen in minutes, and a set of detailed, easy-to-follow tutorials that introduce programming concepts through fun exercises.
Comment 1 Chris Rees freebsd_committer 2011-09-01 16:59:28 UTC
Hm, so does it install loads of files into /usr/share even though you've 
told it to use PREFIX=${PREFIX}? Perhaps you need to set DATADIR as 
well, have you tried that?

Also, pkg-plist is relative to /usr/local, so instead of:

/usr/local/bin/BASIC256

you should have

bin/BASIC25



You've also accidentally clobbered espeak as a dependency:

BUILD_DEPENDS=		espeak:${PORTSDIR}/audio/espeak
BUILD_DEPENDS=		qt4:${PORTSDIR}/devel/qt4

Change to:

BUILD_DEPENDS=		espeak:${PORTSDIR}/audio/espeak \
			qt4:${PORTSDIR}/devel/qt4


I can't grab this one right now, but those should fix some of the 
issues. More help will be provided if you ask for it :)

Chris

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Comment 2 Fernando Apesteguía freebsd_committer 2011-09-01 22:01:43 UTC
On Thu, Sep 1, 2011 at 5:59 PM, Chris Rees <crees@freebsd.org> wrote:
> Hm, so does it install loads of files into /usr/share even though you've
> told it to use PREFIX=3D${PREFIX}? Perhaps you need to set DATADIR as wel=
l,
> have you tried that?

The original makefile doesn't honor either PREFIX or DATADIR. Those
/usr/share paths are hardcoded into BASIC.pro. Should I try to change
the project file replacing those paths or should I try to make the
file aware of those variables?
I'm not a qmake expert or fan but I will try to do it.

Also Mark Linimon suggested to change the category from 'devel' to
'lang'. It's good for me.

Thanks in advance.

>
> Also, pkg-plist is relative to /usr/local, so instead of:
>
> /usr/local/bin/BASIC256
>
> you should have
>
> bin/BASIC25

Changed

>
>
>
> You've also accidentally clobbered espeak as a dependency:
>
> BUILD_DEPENDS=3D =A0 =A0 =A0 =A0 =A0espeak:${PORTSDIR}/audio/espeak
> BUILD_DEPENDS=3D =A0 =A0 =A0 =A0 =A0qt4:${PORTSDIR}/devel/qt4
>
> Change to:
>
> BUILD_DEPENDS=3D =A0 =A0 =A0 =A0 =A0espeak:${PORTSDIR}/audio/espeak \
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0qt4:${PORTSDIR}/devel/qt4

Arrrgh. Fixed.

>
>
> I can't grab this one right now, but those should fix some of the issues.
> More help will be provided if you ask for it :)
>
> Chris
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>
Comment 3 Wen Heping freebsd_committer 2011-09-02 01:37:31 UTC
Responsible Changed
From-To: freebsd-ports-bugs->wen

I'll take it.
Comment 4 Fernando Apesteguía freebsd_committer 2011-09-03 12:34:21 UTC
This is the new version of the port.
I changed the category from 'devel' to 'lang'.

Also I applied a patch to the project file so it uses PREFIX and
changed pkg-plist accordingly.

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	basic256
#	basic256/pkg-descr
#	basic256/Makefile
#	basic256/distinfo
#	basic256/pkg-plist
#	basic256/files
#	basic256/files/patch-RunController.cpp
#	basic256/files/patch-BASIC256.pro
#
echo c - basic256
mkdir -p basic256 > /dev/null 2>&1
echo x - basic256/pkg-descr
sed 's/^X//' >basic256/pkg-descr << 'e92bb53bf7683b91de5067ade52eded8'
XBASIC-256 is an easy to use version of BASIC designed to teach anybody
X(especially middle and high-school students) the basics of computer
Xprogramming.
X
XIt uses traditional control structures like gosub, for/next, and goto,
Xwhich helps kids easily see how program flow-control works. It has a
Xbuilt-in graphics mode which lets them draw pictures on screen in
Xminutes, and a set of detailed, easy-to-follow tutorials that
Xintroduce programming concepts through fun exercises.
e92bb53bf7683b91de5067ade52eded8
echo x - basic256/Makefile
sed 's/^X//' >basic256/Makefile << '9da28c211f64f180d5dc2ab2df627c30'
X# New ports collection makefile for:	BASIC256
X# Date created:                Aug 17 2011
X# Whom:                        Fernando Apesteguia
<fernando.apesteguia@gmail.com>
X#
X# $FreeBSD$
X
XPORTNAME=		basic256
XPORTVERSION=		0.9.6.66
XCATEGORIES=		lang
XMASTER_SITES=		${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR=	kidbasic/basic256
XDISTNAME=		${PORTNAME}_${PORTVERSION}
XEXTRACT_SUFX=		.tgz
X
XMAINTAINER=		fernando.apesteguia@gmail.com
XCOMMENT=		An easy to use BASIC language and IDE for education
X
XBUILD_DEPENDS=		espeak:${PORTSDIR}/audio/espeak
XBUILD_DEPENDS+=		qt4:${PORTSDIR}/devel/qt4
XBUILD_DEPENDS+=		sqlite3:${PORTSDIR}/databases/sqlite3
X
XWRKSRC=			${WRKDIR}
X
XUSE_QT_VER=		4
XUSE_QT_COMPONENTS= 	gui webkit moc_build qmake_build rcc_build uic_build
X
XHAS_CONFIGURE= yes
X
Xdo-configure:
X	@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \
X	${QMAKE} "PREFIX=${PREFIX}" BASIC256.pro
X
X.include <bsd.port.mk>
9da28c211f64f180d5dc2ab2df627c30
echo x - basic256/distinfo
sed 's/^X//' >basic256/distinfo << '83f998e085ccebeef88156c00da7d101'
XSHA256 (basic256_0.9.6.66.tgz) =
db847261c1505ee3814d256cbbd2b37ffb60752cb5cdc4852a395d540c9d8aa9
XSIZE (basic256_0.9.6.66.tgz) = 7644597
83f998e085ccebeef88156c00da7d101
echo x - basic256/pkg-plist
sed 's/^X//' >basic256/pkg-plist << '5f5ce85461249598195937d0c03a6a43'
Xbin/BASIC256
Xshare/basic256/Examples/dice/dice.kbs
Xshare/basic256/Examples/dice/dicewood.wav
Xshare/basic256/Examples/imgload/animatedhelp.kbs
Xshare/basic256/Examples/imgload/imgload.kbs
Xshare/basic256/Examples/imgload/rotate.kbs
Xshare/basic256/Examples/imgload/help.png
Xshare/basic256/Examples/imgload/test.bmp
Xshare/basic256/Examples/networking/netclient.kbs
Xshare/basic256/Examples/networking/netgethomepage.kbs
Xshare/basic256/Examples/networking/netgetmany.kbs
Xshare/basic256/Examples/networking/netgoogle.kbs
Xshare/basic256/Examples/networking/netserver.kbs
Xshare/basic256/Examples/sprites/bounce.kbs
Xshare/basic256/Examples/sprites/breakout.kbs
Xshare/basic256/Examples/sprites/spriteslice.kbs
Xshare/basic256/Examples/sprites/spritetest1.kbs
Xshare/basic256/Examples/sprites/spritetest2.kbs
Xshare/basic256/Examples/sprites/spritetest3.kbs
Xshare/basic256/Examples/sprites/3062__SpeedY__bleep.wav
Xshare/basic256/Examples/sprites/4359__NoiseCollector__PongBlipF4.wav
Xshare/basic256/Examples/sprites/4361__NoiseCollector__pongblipA_3.wav
Xshare/basic256/Examples/sprites/ball.png
Xshare/basic256/Examples/sprites/block.png
Xshare/basic256/Examples/sprites/help.png
Xshare/basic256/Examples/sprites/paddle.png
Xshare/basic256/Examples/sprites/test.bmp
Xshare/basic256/Examples/testing/2darraytest.kbs
Xshare/basic256/Examples/testing/2dstrarraytest.kbs
Xshare/basic256/Examples/testing/arraylistassign.kbs
Xshare/basic256/Examples/testing/beautifytest.kbs
Xshare/basic256/Examples/testing/counttest.kbs
Xshare/basic256/Examples/testing/explodetest.kbs
Xshare/basic256/Examples/testing/fontdemo.kbs
Xshare/basic256/Examples/testing/input_numeric_test.kbs
Xshare/basic256/Examples/testing/input_string_test.kbs
Xshare/basic256/Examples/testing/instrtest.kbs
Xshare/basic256/Examples/testing/KalRGB.kbs
Xshare/basic256/Examples/testing/random_one.kbs
Xshare/basic256/Examples/testing/replacetest.kbs
Xshare/basic256/Examples/testing/tes_oo.kbs
Xshare/basic256/Examples/testing/test_dountil.kbs
Xshare/basic256/Examples/testing/test_logicalops.kbs
Xshare/basic256/Examples/testing/test_multiline_if.kbs
Xshare/basic256/Examples/testing/test_slice.kbs
Xshare/basic256/Examples/testing/test_while_loops.kbs
Xshare/basic256/Examples/testing/testchr.kbs
Xshare/basic256/Examples/testing/testimagesave.kbs
Xshare/basic256/Examples/testing/testlineio.kbs
Xshare/basic256/Examples/testing/testmath.kbs
Xshare/basic256/Examples/testing/testmodulo.kbs
Xshare/basic256/Examples/testing/testtextfont.kbs
Xshare/basic256/Examples/testing/testtime.kbs
Xshare/basic256/Examples/testing/uaarray.kbs
Xshare/basic256/Examples/15puzzle.kbs
Xshare/basic256/Examples/arrays.kbs
Xshare/basic256/Examples/ballaccel.kbs
Xshare/basic256/Examples/ballanim.kbs
Xshare/basic256/Examples/basic256_icon.kbs
Xshare/basic256/Examples/BASICtest1.kbs
Xshare/basic256/Examples/card_suites.kbs
Xshare/basic256/Examples/cards_deal5.kbs
Xshare/basic256/Examples/checkerboard.kbs
Xshare/basic256/Examples/collision.kbs
Xshare/basic256/Examples/collision3.kbs
Xshare/basic256/Examples/databasefoo.kbs
Xshare/basic256/Examples/db_quote.kbs
Xshare/basic256/Examples/errortrapping.kbs
Xshare/basic256/Examples/hangman.kbs
Xshare/basic256/Examples/hello.kbs
Xshare/basic256/Examples/mandelbrot.kbs
Xshare/basic256/Examples/mousedoodle.kbs
Xshare/basic256/Examples/moving_squares.kbs
Xshare/basic256/Examples/paddle.kbs
Xshare/basic256/Examples/ping.kbs
Xshare/basic256/Examples/plot.kbs
Xshare/basic256/Examples/plot2.kbs
Xshare/basic256/Examples/poly.kbs
Xshare/basic256/Examples/polytest.kbs
Xshare/basic256/Examples/quotations.kbs
Xshare/basic256/Examples/rainbow.kbs
Xshare/basic256/Examples/ring_01.kbs
Xshare/basic256/Examples/rotating3dcube.kbs
Xshare/basic256/Examples/sliceanimation.kbs
Xshare/basic256/Examples/snowflakes.kbs
Xshare/basic256/Examples/sqrt.kbs
Xshare/basic256/Examples/stamp.kbs
Xshare/basic256/Examples/stamp_flower.kbs
Xshare/basic256/Examples/story.kbs
Xshare/basic256/Examples/tictactoe.kbs
Xshare/basic256/Examples/tictactoe_comp.kbs
Xshare/basic256/Examples/trig.kbs
Xshare/basic256/Examples/uniformRV.kbs
Xshare/basic256/basic256_de.qm
Xshare/basic256/basic256_en_US.qm
Xshare/basic256/basic256_es.qm
Xshare/basic256/basic256_nl.qm
Xshare/basic256/basic256_ru_RU.qm
Xshare/basic256/help/en/style.css
Xshare/basic256/help/en/cir.png
Xshare/basic256/help/en/color.png
Xshare/basic256/help/en/fonttext.png
Xshare/basic256/help/en/line.png
Xshare/basic256/help/en/poly.png
Xshare/basic256/help/en/rect.png
Xshare/basic256/help/en/stamp.png
Xshare/basic256/help/en/cos.jpg
Xshare/basic256/help/en/sin.jpg
Xshare/basic256/help/en/tan.jpg
Xshare/basic256/help/de/style.css
Xshare/basic256/help/de/fonttext.png
Xshare/basic256/help/de/stamp.png
Xshare/basic256/help/es/style.css
Xshare/basic256/help/es/cir.png
Xshare/basic256/help/es/color.png
Xshare/basic256/help/es/fonttext.png
Xshare/basic256/help/es/line.png
Xshare/basic256/help/es/poly.png
Xshare/basic256/help/es/rect.png
Xshare/basic256/help/es/stamp.png
Xshare/basic256/help/es/cos.jpg
Xshare/basic256/help/es/sin.jpg
Xshare/basic256/help/es/tan.jpg
Xshare/basic256/help/fr/style.css
Xshare/basic256/help/fr/cir.png
Xshare/basic256/help/fr/color.png
Xshare/basic256/help/fr/fonttext.png
Xshare/basic256/help/fr/line.png
Xshare/basic256/help/fr/poly.png
Xshare/basic256/help/fr/rect.png
Xshare/basic256/help/fr/stamp.png
Xshare/basic256/help/fr/cos.jpg
Xshare/basic256/help/fr/sin.jpg
Xshare/basic256/help/fr/tan.jpg
Xshare/basic256/help/ru/style.css
X@dirrm share/basic256/Examples/dice/
X@dirrm share/basic256/Examples/imgload/
X@dirrm share/basic256/Examples/networking/
X@dirrm share/basic256/Examples/sprites/
X@dirrm share/basic256/Examples/testing/
X@dirrm share/basic256/Examples/
X@dirrm share/basic256/help/en/
X@dirrm share/basic256/help/de/
X@dirrm share/basic256/help/es/
X@dirrm share/basic256/help/fr/
X@dirrm share/basic256/help/ru/
X@dirrm share/basic256/help/
X@dirrm share/basic256/
5f5ce85461249598195937d0c03a6a43
echo c - basic256/files
mkdir -p basic256/files > /dev/null 2>&1
echo x - basic256/files/patch-RunController.cpp
sed 's/^X//' >basic256/files/patch-RunController.cpp <<
'8e8f4b905a6953a766e014a48eee3f5f'
X--- RunController.cpp.orig	2011-08-28 20:02:12.000000000 +0200
X+++ RunController.cpp	2011-08-28 20:02:22.000000000 +0200
X@@ -56,7 +56,7 @@
X
X
X #ifdef LINUX_ESPEAK
X-	#include <speak_lib.h>
X+	#include <espeak/speak_lib.h>
X #endif
X
X #ifdef LINUX_FLITE
8e8f4b905a6953a766e014a48eee3f5f
echo x - basic256/files/patch-BASIC256.pro
sed 's/^X//' >basic256/files/patch-BASIC256.pro <<
'8a61ff90b280f4d901edf7f6949cba2f'
X--- BASIC256.pro.orig	2011-08-26 19:37:38.000000000 +0200
X+++ BASIC256.pro	2011-09-03 13:07:27.000000000 +0200
X@@ -62,72 +62,72 @@
X 	## rules for make install

X 	examplesDiceFiles.files = ./Examples/dice/*.kbs \

X 				./Examples/dice/*.wav

X-	examplesDiceFiles.path = /usr/share/basic256/Examples/dice

X+	examplesDiceFiles.path = $$PREFIX/share/basic256/Examples/dice

X 	INSTALLS += examplesDiceFiles

X 	examplesImgloadFiles.files = ./Examples/imgload/*.kbs \

X 				./Examples/imgload/*.png \

X 				./Examples/imgload/*.bmp

X-	examplesImgloadFiles.path = /usr/share/basic256/Examples/imgload

X+	examplesImgloadFiles.path = $$PREFIX/share/basic256/Examples/imgload

X 	INSTALLS += examplesImgloadFiles

X 	examplesNetworkingFiles.files = ./Examples/networking/*.kbs

X-	examplesNetworkingFiles.path = /usr/share/basic256/Examples/networking

X+	examplesNetworkingFiles.path = $$PREFIX/share/basic256/Examples/networking

X 	INSTALLS += examplesNetworkingFiles

X 	examplesSpritesFiles.files = ./Examples/sprites/*.kbs \

X 				./Examples/sprites/*.wav \

X 				./Examples/sprites/*.png \

X 				./Examples/sprites/*.bmp

X-	examplesSpritesFiles.path = /usr/share/basic256/Examples/sprites

X+	examplesSpritesFiles.path = $$PREFIX/share/basic256/Examples/sprites

X 	INSTALLS += examplesSpritesFiles

X 	examplesTestingFiles.files = ./Examples/testing/*.kbs

X-	examplesTestingFiles.path = /usr/share/basic256/Examples/testing

X+	examplesTestingFiles.path = $$PREFIX/share/basic256/Examples/testing

X 	INSTALLS += examplesTestingFiles

X 	examplesFiles.files = ./Examples/*.kbs

X-	examplesFiles.path = /usr/share/basic256/Examples

X+	examplesFiles.path = $$PREFIX/share/basic256/Examples

X 	INSTALLS += examplesFiles

X 	transFiles.files = ./Translations/*.qm

X-	transFiles.path = /usr/share/basic256

X+	transFiles.path = $$PREFIX/share/basic256

X 	INSTALLS += transFiles

X 	# EN - english help files

X 	helpENFiles.files = ../doc/help/en/*.html \

X 		./help/en/*.css \

X 		./help/en/*.png \

X 		./help/en/*.jpg

X-	helpENFiles.path = /usr/share/basic256/help/en

X+	helpENFiles.path = $$PREFIX/share/basic256/help/en

X 	INSTALLS += helpENFiles

X 	# DE - german help files

X 	helpDEFiles.files = ../doc/help/de/*.html \

X 		./help/de/*.css \

X 		./help/de/*.png \

X 		./help/de/*.jpg

X-	helpDEFiles.path = /usr/share/basic256/help/de

X+	helpDEFiles.path = $$PREFIX/share/basic256/help/de

X 	INSTALLS += helpDEFiles

X 	# ES - spanish help files

X 	helpESFiles.files = ../doc/help/es/*.html \

X 		./help/es/*.css \

X 		./help/es/*.png \

X 		./help/es/*.jpg

X-	helpESFiles.path = /usr/share/basic256/help/es

X+	helpESFiles.path = $$PREFIX/share/basic256/help/es

X 	INSTALLS += helpESFiles

X 	# FR - french help files

X 	helpFRFiles.files = ../doc/help/fr/*.html \

X 		./help/fr/*.css \

X 		./help/fr/*.png \

X 		./help/fr/*.jpg

X-	helpFRFiles.path = /usr/share/basic256/help/fr

X+	helpFRFiles.path = $$PREFIX/share/basic256/help/fr

X 	INSTALLS += helpFRFiles

X 	# RU - russian help files

X 	helpRUFiles.files = ../doc/help/ru/*.html \

X 		./help/ru/*.css \

X 		./help/ru/*.png \

X 		./help/ru/*.jpg

X-	helpRUFiles.path = /usr/share/basic256/help/ru

X+	helpRUFiles.path = $$PREFIX/share/basic256/help/ru

X 	INSTALLS += helpRUFiles

X 	# all language translation files

X 	transFiles.files = ./Translations/*.qm

X-	transFiles.path = /usr/share/basic256

X+	transFiles.path = $$PREFIX/share/basic256

X 	INSTALLS += transFiles

X 	# main program executable

X-	target.path = /usr/local/bin

X+	target.path = $$PREFIX/bin

X 	INSTALLS += target

X

X }

8a61ff90b280f4d901edf7f6949cba2f
exit
Comment 5 dfilter service freebsd_committer 2011-10-11 07:51:05 UTC
wen         2011-10-11 06:50:56 UTC

  FreeBSD ports repository

  Modified files:
    lang                 Makefile 
  Added files:
    lang/basic256        Makefile distinfo pkg-descr pkg-plist 
    lang/basic256/files  patch-BASIC256.pro 
                         patch-RunController.cpp 
  Log:
  BASIC-256 is an easy to use version of BASIC designed to teach anybody
  (especially middle and high-school students) the basics of computer
  programming.
  
  It uses traditional control structures like gosub, for/next, and goto,
  which helps kids easily see how program flow-control works. It has a
  built-in graphics mode which lets them draw pictures on screen in
  minutes, and a set of detailed, easy-to-follow tutorials that
  introduce programming concepts through fun exercises.
  
  WWW: http://http://www.basic256.org
  
  PR:             ports/160367
  Submitted by:   Fernando <fernando.apesteguia@gmail.com>
  
  Revision  Changes    Path
  1.746     +1 -0      ports/lang/Makefile
  1.1       +37 -0     ports/lang/basic256/Makefile (new)
  1.1       +2 -0      ports/lang/basic256/distinfo (new)
  1.1       +89 -0     ports/lang/basic256/files/patch-BASIC256.pro (new)
  1.1       +11 -0     ports/lang/basic256/files/patch-RunController.cpp (new)
  1.1       +11 -0     ports/lang/basic256/pkg-descr (new)
  1.1       +148 -0    ports/lang/basic256/pkg-plist (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 6 Wen Heping freebsd_committer 2011-10-11 07:52:18 UTC
State Changed
From-To: open->closed

New port added, with minor changes. Thanks!
Comment 7 dfilter service freebsd_committer 2011-10-11 08:46:24 UTC
wen         2011-10-11 07:46:10 UTC

  FreeBSD ports repository

  Modified files:
    lang/basic256        Makefile distinfo pkg-descr pkg-plist 
  Log:
  BASIC-256 is an easy to use version of BASIC designed to teach anybody
  (especially middle and high-school students) the basics of computer
  programming.
  
  It uses traditional control structures like gosub, for/next, and goto,
  which helps kids easily see how program flow-control works. It has a
  built-in graphics mode which lets them draw pictures on screen in
  minutes, and a set of detailed, easy-to-follow tutorials that
  introduce programming concepts through fun exercises.
  
  WWW: http://www.basic256.org
  
  PR:             ports/160367
  Submitted by:   Fernando <fernando.apesteguia@gmail.com>
  
  Revision  Changes    Path
  1.2       +0 -0      ports/lang/basic256/Makefile
  1.2       +0 -0      ports/lang/basic256/distinfo
  1.2       +0 -0      ports/lang/basic256/pkg-descr
  1.2       +0 -0      ports/lang/basic256/pkg-plist
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"