lang/scratchがFreeBSD portsに入るまでの顛末
https://gyazo.com/310d81933018944f57f094a47fa5c54b
はじめに
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の展示
展示で疲れてやめた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
^~~~~~~~~~~~~~~~~~~~
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/29: portの書式を中心にチェック
Fix MASTER_SITES=https://download.scratch.mit.edu/
Check with portlint,portfmt.
PREFIX clean
code:Makefile
USES= gnome pkgconfig
USE_GNOME= pango
2023/05/07: 物言いorz
物言いの内容
Scratch本家でサポートしてないぐらい古いのに、今更入れなあかんか?
USEマクロも使ってね。
言い訳の英作文…
インタネット接続のないオフラインで使える。
Scratch遠隔センサーという仕組みで外部センサーが使える。
Squeak Smalltalkで書かれていて魔改造が可能。
原文
I want to include Scratch 1.4 in the FreeBSD port for the following reasons.
- 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.
- 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.
言い訳の参照URL
反省点
3年もの暗黒時代を送ったのはまずかった。
誰かにお願いすべきだった。
pkg-configの対応が遅すぎた(timeout)。
poudriereがlang/rustをbuildできず、手元で使えなかったのが痛かった。
体調くずしてたのもある。
https://scrapbox.io/files/64606696c7046b001b72a054.svg
おわりに
苦節6年(という程なにかしてた訳ではないのですが…)、ついに入りました!!
norkさん、本当にありがとうございました(_O_)