Bug 258521 - [new port] lang/scratch: graphical programming language for kids
Summary: [new port] lang/scratch: graphical programming language for kids
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2021-09-15 19:41 UTC by glowiak1111
Modified: 2021-09-16 23:06 UTC (History)
5 users (show)

See Also:


Attachments
scratch-1.4.0.7.shar (2.29 KB, application/x-shellscript)
2021-09-15 19:41 UTC, glowiak1111
no flags Details
scratch-1.4.0.7p1.shar (2.28 KB, application/x-shellscript)
2021-09-16 17:30 UTC, glowiak1111
no flags Details
patch with some more refinements to pet portlint and portclippy (2.48 KB, patch)
2021-09-16 19:37 UTC, Rainer Hurling
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description glowiak1111 2021-09-15 19:41:51 UTC
Created attachment 227925 [details]
scratch-1.4.0.7.shar

Scratch is graphical programming language designed for learning.
Comment 1 Fernando Apesteguía freebsd_committer 2021-09-16 05:54:50 UTC
Thanks for the submission.

There are some issues in the port though. Would you mind running portclippy and portlint -AC?

Some variables are out of order, MKDIR already includes -p, etc.

Also, I'm not familiar with Scratch. Is scratch something different from scratch the offline editor? Is there an offline editor too? Just in case we would like to rename the port to something like ScractchOfflineEditor.

Cheers.
Comment 2 Steve Wills freebsd_committer 2021-09-16 14:16:42 UTC
(In reply to Fernando Apesteguía from comment #1)

https://en.wikipedia.org/wiki/Scratch_(programming_language)#History

This looks to be a port for Scratch 1.x, which uses squeak. Scratch 2.x came out in 2013 and uses ActionScript. Scratch 3.x came out in 2019 and uses JavaScript.
Comment 3 Fernando Apesteguía freebsd_committer 2021-09-16 14:56:29 UTC
(In reply to Steve Wills from comment #2)
In that case, I think we should go for the scratch 3 version.
Can the OP update the patch?
Comment 4 glowiak1111 2021-09-16 17:30:00 UTC
Created attachment 227942 [details]
scratch-1.4.0.7p1.shar

The p1 version of Port changes DEPENDS to RUN_DEPENDS and removes -p option from ${MKDIR} in Makefile
Comment 5 Graham Perrin 2021-09-16 17:40:34 UTC
Also bug 216811
Comment 6 glowiak1111 2021-09-16 17:42:21 UTC
(In reply to Fernando Apesteguía from comment #3)
I fixed some things in Makefile;
No, I cannot make port of scratch 3 (nobody can), because it's html based. scratch 3 is meant to run in web browser, the "offline client" is useless. It's just something like chrome app window. It cannot even export projects to website. Scratch 2 in other way depends on adobe air, which cannot be installed either for linux or freebsd. 1.4.0.7 is the last version of scratch that uses squeak (and that makes it platform-independent). You may say it's old, but even those days many Linux distros have scratch 1.4 in repositories.
Comment 7 glowiak1111 2021-09-16 17:42:57 UTC
(In reply to Graham Perrin from comment #5)
But that one is broken
Comment 8 Rainer Hurling freebsd_committer 2021-09-16 19:37:09 UTC
Created attachment 227947 [details]
patch with some more refinements to pet portlint and portclippy

In the meantime I passed the time by satisfying portlint and portfmt with a more reworked patch ;)

One more suggestion here: Bug #216811 was released much earlier and also contains some more details. Wouldn't it be good to think about merging both approaches and agree who should be the maintainer of the port?
Comment 9 Fernando Apesteguía freebsd_committer 2021-09-16 20:17:53 UTC
(In reply to Rainer Hurling from comment #8)
As a general rule, the newer PR should be closed as a duplicate of the older PR unless the new has more details or is more advanced than the old one.
Comment 10 takeshi.mutoh 2021-09-16 23:06:46 UTC
(In reply to Graham Perrin from comment #5)

I am reporter of bug 216811.
I think this patch isn't include plugins.
So some function isn't work.

Let's work together on the bug 216811 tree?