lang/scratchがFreeBSD portsに入るまでの顛末
https://gyazo.com/310d81933018944f57f094a47fa5c54b
2023/06/01: 第98回FreeBSDワークショップ
by むとうたけし(/610t/610t)
はじめに
lang/scratchがportsツリーに入るまでのお話です。
ports/216811: [New port]lang/scratch: block based programing language using for educational purpose
なにはともあれ、norkさん、ありがとうございました(_O_)
年表
https://scrapbox.io/files/64606696c7046b001b72a054.svg
以下、歴史をなぞっていきます。
2017/02/05: send-pr, AsiaBSDCon 2017に向けて
とりあえず、Scratch1.4がFreeBSDで動いた!!
ports/216811: [New port] lang/scratch: block based programing language using for educational purpose
https://gyazo.com/310d81933018944f57f094a47fa5c54b
2017/03/10: AsiaBSDCon 2017展示練習
盛りだくさん: 頭おかしい…
https://gyazo.com/b98b87e70b17a1c2faaabe34c42c981d
https://gyazo.com/0f1f509ae89dc0e698cc998a95faa31d
https://gyazo.com/f7a8e9ad2528bf0b8d8d84e45aac78e2
https://gyazo.com/d27b9f3df6884ed32a9297acef168f1f
2017/03/11: AsiaBSDCon 2017の展示
Scratch@ FreeBSD:をBoFで話そうかと思ってた。
展示で疲れてやめたorz
あるいは、話せてたらすんなり入ったのかも。
https://gyazo.com/e024e326fb79bca5084d8c9523b73978
2017/12/25: DESKTOP_ENTRIESの追加
最近のWindow Managerだとメニューエントリが追加できる。
https://gyazo.com/949250f5c9fdf27482cb9dc4f8a5772b
code:Makefile
DESKTOP_ENTRIES= "Scratch" \
"${COMMENT}" \
"${DATADIR}/icons/128x128/scratch.png" \
"scratch" \
"Development;Education;" \
false
2018-2021:暗黒時代
一切、なにも進まずorz
https://scrapbox.io/files/64606696c7046b001b72a054.svg
2021/01/02: まだ必要なの? by takefu
orz
ちゃんと最新状態でbuildできるものは出してくださいました。
ライセンス情報を追加
code:Makefile
LICENSE= CC-BY-SA-3.0 GPLv2 MIT
LICENSE_COMB= multi
LICENSE_FILE= ${WRKSRC}/LICENSE
2021/02/18: libv4l2.so関係で作れんようになってるで
libv4l2.soがmultimedia/v4l_compatからmultimedia/libv4lに移動
code:err.c
===> scratch-1.4.0.7 depends on shared library: libv4l2.so - not found
*** Error code 1
libv4l2.so:multimedia/v4l_compat
There's no such library in v4l_compat.
code:Makefile
BUILD_DEPENDS= v4l_compat>=1.0.20100321:multimedia/v4l_compat
LIB_DEPENDS= libv4l2.so:multimedia/libv4l
2021/09/07: pangoのヘッダファイルが読み込めない
code:err.c
UnicodeOps-linux.c:28:10: fatal error: 'pango/pangocairo.h' file not found
#include <pango/pangocairo.h>
^~~~~~~~~~~~~~~~~~~~
1 error generated.
手元でbuildするとエラーにならない。
既に何かのbuildで、pkg-configが入っていたものと思われる。
poudriere(ports-mgmt/poudriere)で確認しやがれorz
手元でpoudriereを使うと、lang/rustでどうやっても落ちる。
swap増やしたりしてもダメだったorz
2021/09/15: 新たなportの出現
ports/258521: [new port] lang/scratch: graphical programming language for kids
pluginなどをビルドしないデータだけを突っ込むport
動かない機能がある
2021/09/16: 一緒にやろうよと言ったらダンマリ…
2023/06/01: 今日Close
https://scrapbox.io/files/64606696c7046b001b72a054.svg
2021/12/29: 一度PRがTimeoutでClose
orz
この時点で、pangoのヘッダファイルの問題は解決できてなかった。
2022/12/12: pangoの問題やっと解決
pangoのヘッダファイルの問題は、pkg-configが無いのが原因とわかる。
code:Makefile
USES= gnome pkgconfig
もう一度、Openする。
2023/04/28-05/10: norkさんによる救出劇
2023/04/28: 第97回FreeBSDワークショップで助けてもらえることに!!
2023/04/29: portの書式を中心にチェック
Fix MASTER_SITES=https://download.scratch.mit.edu/
Check with portlint,portfmt.
PREFIX clean
2023/05/06: commit終了
2023/05/10: USES & USE_GNOMEマクロ利用に更新
code:Makefile
USES= gnome pkgconfig
USE_GNOME= pango
2023/05/07: 物言いorz
物言いの内容
Scratch本家でサポートしてないぐらい古いのに、今更入れなあかんか?
USEマクロも使ってね。
言い訳の英作文…
CoderDojo(日本)で使ってる。
インタネット接続のないオフラインで使える。
Scratch遠隔センサーという仕組みで外部センサーが使える。
/M5S/うち、やっぱ、Scratch Remote Sensorが、むっちゃ好っきゃねん
Squeak Smalltalkで書かれていて魔改造が可能。
原文
I want to include Scratch 1.4 in the FreeBSD port for the following reasons.
- First, it is used by the children’s programming house CoderDojo (https://coderdojo.com/en/). And, offcourse, I use Scratch 1.4 with FreeBSD at CoderDojo Nara https://nara-coderdojo.github.io/ .
- This version can be used offline without an Internet connection.
- It can easily use a various sensors using the remote sensor (SRS), which is not included in the online version of Scratch3.
- The demonstration of SRS is at /M5S/うち、やっぱ、Scratch Remote Sensorが、むっちゃ好っきゃねん .
- Since this version is written in Smalltalk, you can easily make extensions and other changes yourself.
- For these reasons, MAINTAINER believes it makes sense to include this version of Scratch in the FreeBSD port.
Overview of scratch at FreeBSD is http://qml.610t.org/FreeBSD/ScratchAtBSD.html , but this document is too old (about 2017).
Overview of current version Scratch at FreeBSD is at https://scrapbox.io/BSD/Scratch_at_FreeBSD in Japanese.
言い訳の参照URL
Scratch@ FreeBSD: AsiaBSDCon2017のBoFで話そうかと思ってた内容
Scratch at FreeBSD: FreeBSD Advent Calendar 2022 12/01用に作った記事
反省点
3年もの暗黒時代を送ったのはまずかった。
誰かにお願いすべきだった。
これみたいにpingとかするだけで良いの?
pkg-configの対応が遅すぎた(timeout)。
poudriereがlang/rustをbuildできず、手元で使えなかったのが痛かった。
体調くずしてたのもある。
https://scrapbox.io/files/64606696c7046b001b72a054.svg
おわりに
苦節6年(という程なにかしてた訳ではないのですが…)、ついに入りました!!
norkさん、本当にありがとうございました(_O_)
#FreeBSD
#Scratch
#send-pr