1
0
This commit is contained in:
dtb 2024-07-23 19:40:54 -06:00
parent bdd388e6d4
commit b815e9303b
12 changed files with 1497 additions and 0 deletions

293
soft/wip/arduino18 Normal file
View File

@ -0,0 +1,293 @@
# System utilities
CC = cc
CFLAGS = -Iinclude/ -Ilib/ -g -Wall -Wextra -Wpedantic
HOME = /home/trinity
PREFIX = /usr/local
RM = rm -f
all:
HOMEPAGE_FILES = homepage propaganda/*
dist/homepage:
mkdir -p dist/homepage.tmp
cp $(HOMEPAGE_FILES) dist/homepage.tmp
cd dist/homepage.tmp; sh homepage; cd ../..
$(RM) dist/homepage.tmp/homepage dist/homepage.tmp/homepage.local
mv dist/homepage.tmp dist/homepage
dist/homepage.tar.gz: dist/homepage
tar cz -C dist/homepage . >dist/homepage.tar.gz
# i made this script to fetch icons for my grandmother and put them in icons/
# so i wouldn't have to fetch the icons for her desktop when i made her a new
# system.
# i could have downloaded all the icons and put them into a repo for her but
# this uses less space
dist/grammy: dist/grammy.tmp/989wclz.com.png \
dist/grammy.tmp/amazon.com.ico \
dist/grammy.tmp/bangordailynews.com.png \
dist/grammy.tmp/theguardian.com.png \
dist/grammy.tmp/centralmaine.com.png \
dist/grammy.tmp/dictionary.com.png \
dist/grammy.tmp/google.com.jpg \
dist/grammy.tmp/longfellowsgreenhouses.com.jpg \
dist/grammy.tmp/mainepublic.org.png \
dist/grammy.tmp/news.google.com.png \
dist/grammy.tmp/newscentermaine.com.png \
dist/grammy.tmp/pressherald.com.png \
dist/grammy.tmp/weather.com.png
mv dist/grammy.tmp dist/grammy
dist/grammy.tmp:
mkdir -p dist/grammy.tmp
dist/grammy.tmp/989wclz.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/989wclz.com.png" "https://web.archive.org/web/20200629174002if_/https://989wclz.com/wp-content/themes/wclz/img/touch-icon-144.png"
dist/grammy.tmp/amazon.com.ico: dist/grammy.tmp
curl -o "dist/grammy.tmp/amazon.com.ico" "https://web.archive.org/web/20200718050400if_/https://www.amazon.com/favicon.ico"
dist/grammy.tmp/bangordailynews.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/bangordailynews.com.png" "http://web.archive.org/web/20200721195123if_/https://i0.wp.com/bdn-data.s3.amazonaws.com/uploads/2020/06/BDN-logo_green-3-1.png"
dist/grammy.tmp/theguardian.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/theguardian.com.png" "https://web.archive.org/web/20200720041457if_/https://assets.guim.co.uk/images/favicons/fee5e2d638d1c35f6d501fa397e53329/152x152.png"
dist/grammy.tmp/centralmaine.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/centralmaine.com.png" "https://web.archive.org/web/20200720023956if_/https://multifiles.pressherald.com/uploads/sites/2/2014/06/apple-touch-icon-iphone-retina-display.png"
dist/grammy.tmp/dictionary.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/dictionary.com.png" "https://web.archive.org/web/20200719135458if_/https://www.dictionary.com/hp-assets/dcom_favicon-1bff2f1b49c077ed504e55c3649f2a4b.png"
dist/grammy.tmp/google.com.jpg: dist/grammy.tmp
curl -o "dist/grammy.tmp/google.com.jpg" "https://web.archive.org/web/20170621105937if_/https://yt3.ggpht.com/-v0soe-ievYE/AAAAAAAAAAI/AAAAAAAAAAA/OixOH_h84Po/s900-c-k-no/photo.jpg"
dist/grammy.tmp/longfellowsgreenhouses.com.jpg: dist/grammy.tmp
curl -o "dist/grammy.tmp/longfellowsgreenhouses.com.jpg" "https://web.archive.org/web/20200718173559im_/https://longfellowsgreenhouses.com/wp-content/uploads/2020/03/Longfellows-Logo-Light-Green.jpg"
dist/grammy.tmp/mainepublic.org.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/mainepublic.org.png" "https://d3kle7qwymxpcy.cloudfront.net/images/broadcasts/e5/8e/30457/1/c300.png"
dist/grammy.tmp/news.google.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/news.google.com.png" "https://upload.wikimedia.org/wikipedia/commons/0/0b/Google_News_icon.png"
dist/grammy.tmp/newscentermaine.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/newscentermaine.com.png" "https://web.archive.org/web/20200721190548if_/https://www.newscentermaine.com/assets/favicons/WCSH.png?ver=2.4.7.4"
dist/grammy.tmp/pressherald.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/pressherald.com.png" "https://multifiles.pressherald.com/uploads/sites/4/2014/06/apple-touch-icon-iphone-retina-display.png"
dist/grammy.tmp/weather.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/weather.com.png" "https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/The_Weather_Channel_logo_2005-present.svg/1200px-The_Weather_Channel_logo_2005-present.svg.png"
dist/ifpublic:
cp ifpublic/ifpublic dist/
dist/pschdir:
$(MAKE) -C pschdir
cp pschdir/pschdir dist/pschdir
dist/spacer.bin:
# creates an 8GB empty file
# that way when the alarm bells go off you can delete it to save a
# couple minutes before the system really runs out of disk
#
# 512 * 16777216 = 8GB
dd bs=512 count=16777216 </dev/zero >dist/spacer.bin
dist/str:
$(MAKE) -C str
cp str/str dist/
dist/streq:
$(MAKE) -C streq
cp streq/streq dist/
$(HOME)/.fonts/unscii-16-full.ttf:
mkdir -p $(HOME)/.fonts/
curl -o $(HOME)/.fonts/unscii-16-full.ttf.tmp http://viznut.fi/unscii/unscii-16-full.ttf
mv $(HOME)/.fonts/unscii-16-full.ttf.tmp $(HOME)/.fonts/unscii-16-full.ttf
# I never finished this because I realized it needed OpenJDK. Fuck Java.
# depends on
# apk:chimerautils (on Chimera Linux)
# apk:curl
$(PREFIX)/src/arduino18:
# the person that made the tarball used the absolute file location in
# the sha512 file, so it looks like
# [sum] /home/user/dir/tarball.tar.xz
# so filter out the file locations before diffing
curl -L https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz
curl -L https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz.sha512 \
| sed 's/ .*//' \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz.sha512
sha512sum arduino-1.8.19.tar.xz \
| sed 's/ .*//' \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz.sha512.local
# if the sums differ the makefile will terminate
cat arduino-1.8.19.tar.xz.sha512 $(PREFIX)/src/arduino-1.8.19.tar.xz.sha512.local \
| uniq \
| wc -l \
| xargs echo \
| xargs test 1 =
xz -cd "$(PREFIX)"/src/arduino-1.8.19.tar.xz \
| tar -C "$(PREFIX)" x
mv "$(PREFIX)"/arduino-1.8.19 "$(PREFIX)"/arduino18
$(PREFIX)/bin/bar:
git clone https://github.com/LemonBoy/bar.git "$(PREFIX)"/src/bar
$(MAKE) -C "$(PREFIX)"/src/bar PREFIX="$(PREFIX)" install
# depends on
# apk:clang
# apk:git
# apk:gmake
# apk:libx11-devel
# apk:libxau-devel
# apk:libxcb-devel
# apk:libxinerama-devel
# apk:xcb-util-devel
# apk:xcb-util-keysyms-devel
# apk:xcb-util-wm-devel
$(PREFIX)/bin/bspwm:
git clone https://github.com/baskerville/bspwm.git "$(PREFIX)"/src/bspwm
$(MAKE) -C "$(PREFIX)"/src/bspwm install
# depends on:
# apk:git (build)
# apk:ncurses-devel (optional if curses.h is present on system)
$(PREFIX)/bin/cmatrix:
git clone https://github.com/abishekvashok/cmatrix.git $(PREFIX)/src/cmatrix
sh -c 'cd "$(PREFIX)"/src/cmatrix; autoreconf -i && ./configure --prefix="$(PREFIX)"'
$(MAKE) -C "$(PREFIX)"/src/cmatrix install
# game.tar should extract to
# 'The Coffin of Andy and Leyley'/
# Game.exe
# [files on which Game.exe depends]
# I originally got it as a RAR which I decompressed and packed into a TAR.
# _CommonRedist/
# dotNetFx40_Full_setup.exe
# dxwebsetup.exe
# oalinst.exe
# vcredist_2015-2019_x64.exe
# vcredist_2015-2019_x86.exe
# vcredist_x64.exe
# vcredist_x86.exe
# xnafx40_redist.msi
# depends on
# apk:curl
# apk:git
# apk:qemu-system-arm
# apk:xz
$(PREFIX)/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.img:
mkdir -p "$(PREFIX)"/bin/coffin_files
curl http://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-11-08/2021-10-30-raspios-bullseye-armhf-full.zip -o "$(PREFIX)"/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.zip
tar -C "$(PREFIX)"/bin/coffin_files xf "$(PREFIX)"/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.zip
#$(PREFIX)/bin/coffin: $(PREFIX)/bin/coffin_files/game.tar $(PREFIX)/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.img $(PREFIX)/src/qemu-rpi-kernel
# Installs the Python script without documentation because I'm lazy and don't
# wanna run the upstream Makefile and then deal with filtering out the Python
# stuff (which is specific to 3.6 which is a little outdated).
# depends on apk:git apk:python
$(PREFIX)/bin/git-filter-repo:
git clone https://github.com/newren/git-filter-repo.git $(PREFIX)/src/git-filter-repo
$(INSTALL) -Dm0755 $(PREFIX)/src/git-filter-repo/git-filter-repo $(PREFIX)/bin/git-filter-repo
# depends on
# apk:git
# apk:texinfo
$(PREFIX)/bin/macchanger:
git clone https://github.com/alobbs/macchanger.git "$(PREFIX)"/src/macchanger
sh -c 'cd "$(PREFIX)"/src/macchanger; ./autogen.sh --prefix=/usr/local/'
# https://github.com/alobbs/macchanger/issues/14
sed -i .orig -e 's/caddr_t/void */' "$(PREFIX)"/src/macchanger/src/netinfo.c
$(MAKE) -C "$(PREFIX)"/src/macchanger install
# nmap 7.80 is the last Free nmap release
# depends on apk:linux-headers
# had to # ln -s /bin/gmake /usr/local/bin/make
# with clang 16.0.6 aarch75-chimera-linux-musl, cannot compile (4 errors?)
$(PREFIX)/bin/nmap:
curl "https://nmap.org/dist/nmap-7.80.tar.bz2" | bzip2 -cd | tar x -C /usr/local/src/
cd /usr/local/src/nmap-7.80; ./configure --prefix=/usr/local
$(MAKE) -C /usr/local/src/nmap-7.80
# depends on
# apk:git
$(PREFIX)/bin/pandoc: $(PREFIX)/bin/cabal
git clone https://github.com/jgm/pandoc.git "$(PREFIX)"/src/pandoc.tmp
mv "$(PREFIX)"/pandoc.tmp "$(PREFIX)"/pandoc
# depends on
# apk:bison
# apk:cairo-devel
# apk:flex
# apk:gdk-pixbuf-devel
# apk:glib-devel
# apk:libxkbcommon-devel
# apk:pango-devel
# apk:pkgconf
# apk:meson
# apk:startup-notification-devel
# apk:xcb-util-cursor-devel
$(PREFIX)/bin/rofi:
git clone https://davatorium/rofi.git $(PREFIX)/src/rofi
sh -c 'cd $(PREFIX)/src/rofi; meson setup build'
ninja -C $(PREFIX)/src/rofi/build install
# depends on
# apk:autoconf
# apk:autoconf-archive
# apk:imlib2-devel
# apk:libxcomposite-devel
# apk:libxfixes-devel
$(PREFIX)/bin/scrot:
git clone https://github.com/resurrecting-open-source-projects/scrot.git "$(PREFIX)"/src/scrot
sh -c 'cd $(PREFIX)/src/scrot && ./autogen.sh && ./configure MAKE=$(MAKE) PREFIX=$(PREFIX)'
$(MAKE) -C $(PREFIX)/src/scrot install
# depends on
# apk:g++
$(PREFIX)/bin/unrar:
git clone https://github.com/pmachapman/unrar.git "$(PREFIX)"/src/unrar
$(MAKE) -C "$(PREFIX)"/src/unrar
$(INSTALL) -Dm0755 "$(PREFIX)"/src/unrar/unrar "$(PREFIX)"/bin/unrar
# I tried final_official_2.50 but it wouldn't build
# (ld: error: duplicate symbol: comDat)
# depends on
# apk:sudo
$(PREFIX)/src/wiringpi:
git clone https://github.com/WiringPi/WiringPi.git $(PREFIX)/src/wiringpi
git -C $(PREFIX)/src/wiringpi checkout 2.61-1
sed -i .old -e /^sudo/d $(PREFIX)/src/wiringpi/build
sed -i .old -e s/root\.root/root\:root/ $(PREFIX)/src/wiringpi/gpio
sh -c 'cd $(PREFIX)/src/wiringpi; sudo=sudo ./build'
$(PREFIX)/bin/xdo:
git clone https://github.com/baskerville/xdo.git $(PREFIX)/src/xdo
$(MAKE) -C $(PREFIX)/src/xdo install
$(PREFIX)/share/audacious/Skins/Sailor_Moon_Gang.wsz:
mkdir -p $(PREFIX)/share/audacious/Skins
curl https://archive.org/download/winampskin_Sailor_Moon_Gang/Sailor_Moon_Gang.wsz -o $(PREFIX)/share/audacious/Skins/Sailor_Moon_Gang.wsz
# depends on
# apk:git
$(PREFIX)/src/qemu-rpi-kernel:
git clone https://github.com/dhruvvyas90/qemu-rpi-kernel "$(PREFIX)"/src/qemu-rpi-kernel
# depends on
# apk:git
$(PREFIX)/src/moreutils:
git clone git://git.joeyh.name/moreutils "$(PREFIX)"/src/moreutils.tmp
mv "$(PREFIX)"/src/moreutils.tmp "$(PREFIX)"/src/moreutils
# depends on
# apk:git
$(PREFIX)/src/syslinux:
git clone --recursive https://repo.or.cz/syslinux.git "$(PREFIX)"/src/syslinux
.PHONY: android-udev-rules
android-udev-rules:
git clone https://github.com/M0Rf30/android-udev-rules.git "$(PREFIX)"/src/android-udev-rules
# rather than requiring user to be in `adbusers`, just use group wheel
sed -i .orig -e s/adbusers/wheel/g "$(PREFIX)"/src/android-udev-rules/51-android.rules
mkdir -p /etc/udev/rules.d
cp "$(PREFIX)"/src/android-udev-rules/51-android.rules /etc/udev/rules.d/51-android.rules
chmod a+r /etc/udev/rules.d/51-android.rules
udevadm control --reload-rules
# assumes dinit
dinitctl restart udevd
.PHONY: unscii-pkgsrc
unscii-pkgsrc:
$(MAKE) -C /usr/pkgsrc/fonts/unscii install clean clean-depends

293
soft/wip/coffin Normal file
View File

@ -0,0 +1,293 @@
# System utilities
CC = cc
CFLAGS = -Iinclude/ -Ilib/ -g -Wall -Wextra -Wpedantic
HOME = /home/trinity
PREFIX = /usr/local
RM = rm -f
all:
HOMEPAGE_FILES = homepage propaganda/*
dist/homepage:
mkdir -p dist/homepage.tmp
cp $(HOMEPAGE_FILES) dist/homepage.tmp
cd dist/homepage.tmp; sh homepage; cd ../..
$(RM) dist/homepage.tmp/homepage dist/homepage.tmp/homepage.local
mv dist/homepage.tmp dist/homepage
dist/homepage.tar.gz: dist/homepage
tar cz -C dist/homepage . >dist/homepage.tar.gz
# i made this script to fetch icons for my grandmother and put them in icons/
# so i wouldn't have to fetch the icons for her desktop when i made her a new
# system.
# i could have downloaded all the icons and put them into a repo for her but
# this uses less space
dist/grammy: dist/grammy.tmp/989wclz.com.png \
dist/grammy.tmp/amazon.com.ico \
dist/grammy.tmp/bangordailynews.com.png \
dist/grammy.tmp/theguardian.com.png \
dist/grammy.tmp/centralmaine.com.png \
dist/grammy.tmp/dictionary.com.png \
dist/grammy.tmp/google.com.jpg \
dist/grammy.tmp/longfellowsgreenhouses.com.jpg \
dist/grammy.tmp/mainepublic.org.png \
dist/grammy.tmp/news.google.com.png \
dist/grammy.tmp/newscentermaine.com.png \
dist/grammy.tmp/pressherald.com.png \
dist/grammy.tmp/weather.com.png
mv dist/grammy.tmp dist/grammy
dist/grammy.tmp:
mkdir -p dist/grammy.tmp
dist/grammy.tmp/989wclz.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/989wclz.com.png" "https://web.archive.org/web/20200629174002if_/https://989wclz.com/wp-content/themes/wclz/img/touch-icon-144.png"
dist/grammy.tmp/amazon.com.ico: dist/grammy.tmp
curl -o "dist/grammy.tmp/amazon.com.ico" "https://web.archive.org/web/20200718050400if_/https://www.amazon.com/favicon.ico"
dist/grammy.tmp/bangordailynews.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/bangordailynews.com.png" "http://web.archive.org/web/20200721195123if_/https://i0.wp.com/bdn-data.s3.amazonaws.com/uploads/2020/06/BDN-logo_green-3-1.png"
dist/grammy.tmp/theguardian.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/theguardian.com.png" "https://web.archive.org/web/20200720041457if_/https://assets.guim.co.uk/images/favicons/fee5e2d638d1c35f6d501fa397e53329/152x152.png"
dist/grammy.tmp/centralmaine.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/centralmaine.com.png" "https://web.archive.org/web/20200720023956if_/https://multifiles.pressherald.com/uploads/sites/2/2014/06/apple-touch-icon-iphone-retina-display.png"
dist/grammy.tmp/dictionary.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/dictionary.com.png" "https://web.archive.org/web/20200719135458if_/https://www.dictionary.com/hp-assets/dcom_favicon-1bff2f1b49c077ed504e55c3649f2a4b.png"
dist/grammy.tmp/google.com.jpg: dist/grammy.tmp
curl -o "dist/grammy.tmp/google.com.jpg" "https://web.archive.org/web/20170621105937if_/https://yt3.ggpht.com/-v0soe-ievYE/AAAAAAAAAAI/AAAAAAAAAAA/OixOH_h84Po/s900-c-k-no/photo.jpg"
dist/grammy.tmp/longfellowsgreenhouses.com.jpg: dist/grammy.tmp
curl -o "dist/grammy.tmp/longfellowsgreenhouses.com.jpg" "https://web.archive.org/web/20200718173559im_/https://longfellowsgreenhouses.com/wp-content/uploads/2020/03/Longfellows-Logo-Light-Green.jpg"
dist/grammy.tmp/mainepublic.org.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/mainepublic.org.png" "https://d3kle7qwymxpcy.cloudfront.net/images/broadcasts/e5/8e/30457/1/c300.png"
dist/grammy.tmp/news.google.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/news.google.com.png" "https://upload.wikimedia.org/wikipedia/commons/0/0b/Google_News_icon.png"
dist/grammy.tmp/newscentermaine.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/newscentermaine.com.png" "https://web.archive.org/web/20200721190548if_/https://www.newscentermaine.com/assets/favicons/WCSH.png?ver=2.4.7.4"
dist/grammy.tmp/pressherald.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/pressherald.com.png" "https://multifiles.pressherald.com/uploads/sites/4/2014/06/apple-touch-icon-iphone-retina-display.png"
dist/grammy.tmp/weather.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/weather.com.png" "https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/The_Weather_Channel_logo_2005-present.svg/1200px-The_Weather_Channel_logo_2005-present.svg.png"
dist/ifpublic:
cp ifpublic/ifpublic dist/
dist/pschdir:
$(MAKE) -C pschdir
cp pschdir/pschdir dist/pschdir
dist/spacer.bin:
# creates an 8GB empty file
# that way when the alarm bells go off you can delete it to save a
# couple minutes before the system really runs out of disk
#
# 512 * 16777216 = 8GB
dd bs=512 count=16777216 </dev/zero >dist/spacer.bin
dist/str:
$(MAKE) -C str
cp str/str dist/
dist/streq:
$(MAKE) -C streq
cp streq/streq dist/
$(HOME)/.fonts/unscii-16-full.ttf:
mkdir -p $(HOME)/.fonts/
curl -o $(HOME)/.fonts/unscii-16-full.ttf.tmp http://viznut.fi/unscii/unscii-16-full.ttf
mv $(HOME)/.fonts/unscii-16-full.ttf.tmp $(HOME)/.fonts/unscii-16-full.ttf
# I never finished this because I realized it needed OpenJDK. Fuck Java.
# depends on
# apk:chimerautils (on Chimera Linux)
# apk:curl
$(PREFIX)/src/arduino18:
# the person that made the tarball used the absolute file location in
# the sha512 file, so it looks like
# [sum] /home/user/dir/tarball.tar.xz
# so filter out the file locations before diffing
curl -L https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz
curl -L https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz.sha512 \
| sed 's/ .*//' \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz.sha512
sha512sum arduino-1.8.19.tar.xz \
| sed 's/ .*//' \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz.sha512.local
# if the sums differ the makefile will terminate
cat arduino-1.8.19.tar.xz.sha512 $(PREFIX)/src/arduino-1.8.19.tar.xz.sha512.local \
| uniq \
| wc -l \
| xargs echo \
| xargs test 1 =
xz -cd "$(PREFIX)"/src/arduino-1.8.19.tar.xz \
| tar -C "$(PREFIX)" x
mv "$(PREFIX)"/arduino-1.8.19 "$(PREFIX)"/arduino18
$(PREFIX)/bin/bar:
git clone https://github.com/LemonBoy/bar.git "$(PREFIX)"/src/bar
$(MAKE) -C "$(PREFIX)"/src/bar PREFIX="$(PREFIX)" install
# depends on
# apk:clang
# apk:git
# apk:gmake
# apk:libx11-devel
# apk:libxau-devel
# apk:libxcb-devel
# apk:libxinerama-devel
# apk:xcb-util-devel
# apk:xcb-util-keysyms-devel
# apk:xcb-util-wm-devel
$(PREFIX)/bin/bspwm:
git clone https://github.com/baskerville/bspwm.git "$(PREFIX)"/src/bspwm
$(MAKE) -C "$(PREFIX)"/src/bspwm install
# depends on:
# apk:git (build)
# apk:ncurses-devel (optional if curses.h is present on system)
$(PREFIX)/bin/cmatrix:
git clone https://github.com/abishekvashok/cmatrix.git $(PREFIX)/src/cmatrix
sh -c 'cd "$(PREFIX)"/src/cmatrix; autoreconf -i && ./configure --prefix="$(PREFIX)"'
$(MAKE) -C "$(PREFIX)"/src/cmatrix install
# game.tar should extract to
# 'The Coffin of Andy and Leyley'/
# Game.exe
# [files on which Game.exe depends]
# I originally got it as a RAR which I decompressed and packed into a TAR.
# _CommonRedist/
# dotNetFx40_Full_setup.exe
# dxwebsetup.exe
# oalinst.exe
# vcredist_2015-2019_x64.exe
# vcredist_2015-2019_x86.exe
# vcredist_x64.exe
# vcredist_x86.exe
# xnafx40_redist.msi
# depends on
# apk:curl
# apk:git
# apk:qemu-system-arm
# apk:xz
$(PREFIX)/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.img:
mkdir -p "$(PREFIX)"/bin/coffin_files
curl http://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-11-08/2021-10-30-raspios-bullseye-armhf-full.zip -o "$(PREFIX)"/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.zip
tar -C "$(PREFIX)"/bin/coffin_files xf "$(PREFIX)"/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.zip
#$(PREFIX)/bin/coffin: $(PREFIX)/bin/coffin_files/game.tar $(PREFIX)/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.img $(PREFIX)/src/qemu-rpi-kernel
# Installs the Python script without documentation because I'm lazy and don't
# wanna run the upstream Makefile and then deal with filtering out the Python
# stuff (which is specific to 3.6 which is a little outdated).
# depends on apk:git apk:python
$(PREFIX)/bin/git-filter-repo:
git clone https://github.com/newren/git-filter-repo.git $(PREFIX)/src/git-filter-repo
$(INSTALL) -Dm0755 $(PREFIX)/src/git-filter-repo/git-filter-repo $(PREFIX)/bin/git-filter-repo
# depends on
# apk:git
# apk:texinfo
$(PREFIX)/bin/macchanger:
git clone https://github.com/alobbs/macchanger.git "$(PREFIX)"/src/macchanger
sh -c 'cd "$(PREFIX)"/src/macchanger; ./autogen.sh --prefix=/usr/local/'
# https://github.com/alobbs/macchanger/issues/14
sed -i .orig -e 's/caddr_t/void */' "$(PREFIX)"/src/macchanger/src/netinfo.c
$(MAKE) -C "$(PREFIX)"/src/macchanger install
# nmap 7.80 is the last Free nmap release
# depends on apk:linux-headers
# had to # ln -s /bin/gmake /usr/local/bin/make
# with clang 16.0.6 aarch75-chimera-linux-musl, cannot compile (4 errors?)
$(PREFIX)/bin/nmap:
curl "https://nmap.org/dist/nmap-7.80.tar.bz2" | bzip2 -cd | tar x -C /usr/local/src/
cd /usr/local/src/nmap-7.80; ./configure --prefix=/usr/local
$(MAKE) -C /usr/local/src/nmap-7.80
# depends on
# apk:git
$(PREFIX)/bin/pandoc: $(PREFIX)/bin/cabal
git clone https://github.com/jgm/pandoc.git "$(PREFIX)"/src/pandoc.tmp
mv "$(PREFIX)"/pandoc.tmp "$(PREFIX)"/pandoc
# depends on
# apk:bison
# apk:cairo-devel
# apk:flex
# apk:gdk-pixbuf-devel
# apk:glib-devel
# apk:libxkbcommon-devel
# apk:pango-devel
# apk:pkgconf
# apk:meson
# apk:startup-notification-devel
# apk:xcb-util-cursor-devel
$(PREFIX)/bin/rofi:
git clone https://davatorium/rofi.git $(PREFIX)/src/rofi
sh -c 'cd $(PREFIX)/src/rofi; meson setup build'
ninja -C $(PREFIX)/src/rofi/build install
# depends on
# apk:autoconf
# apk:autoconf-archive
# apk:imlib2-devel
# apk:libxcomposite-devel
# apk:libxfixes-devel
$(PREFIX)/bin/scrot:
git clone https://github.com/resurrecting-open-source-projects/scrot.git "$(PREFIX)"/src/scrot
sh -c 'cd $(PREFIX)/src/scrot && ./autogen.sh && ./configure MAKE=$(MAKE) PREFIX=$(PREFIX)'
$(MAKE) -C $(PREFIX)/src/scrot install
# depends on
# apk:g++
$(PREFIX)/bin/unrar:
git clone https://github.com/pmachapman/unrar.git "$(PREFIX)"/src/unrar
$(MAKE) -C "$(PREFIX)"/src/unrar
$(INSTALL) -Dm0755 "$(PREFIX)"/src/unrar/unrar "$(PREFIX)"/bin/unrar
# I tried final_official_2.50 but it wouldn't build
# (ld: error: duplicate symbol: comDat)
# depends on
# apk:sudo
$(PREFIX)/src/wiringpi:
git clone https://github.com/WiringPi/WiringPi.git $(PREFIX)/src/wiringpi
git -C $(PREFIX)/src/wiringpi checkout 2.61-1
sed -i .old -e /^sudo/d $(PREFIX)/src/wiringpi/build
sed -i .old -e s/root\.root/root\:root/ $(PREFIX)/src/wiringpi/gpio
sh -c 'cd $(PREFIX)/src/wiringpi; sudo=sudo ./build'
$(PREFIX)/bin/xdo:
git clone https://github.com/baskerville/xdo.git $(PREFIX)/src/xdo
$(MAKE) -C $(PREFIX)/src/xdo install
$(PREFIX)/share/audacious/Skins/Sailor_Moon_Gang.wsz:
mkdir -p $(PREFIX)/share/audacious/Skins
curl https://archive.org/download/winampskin_Sailor_Moon_Gang/Sailor_Moon_Gang.wsz -o $(PREFIX)/share/audacious/Skins/Sailor_Moon_Gang.wsz
# depends on
# apk:git
$(PREFIX)/src/qemu-rpi-kernel:
git clone https://github.com/dhruvvyas90/qemu-rpi-kernel "$(PREFIX)"/src/qemu-rpi-kernel
# depends on
# apk:git
$(PREFIX)/src/moreutils:
git clone git://git.joeyh.name/moreutils "$(PREFIX)"/src/moreutils.tmp
mv "$(PREFIX)"/src/moreutils.tmp "$(PREFIX)"/src/moreutils
# depends on
# apk:git
$(PREFIX)/src/syslinux:
git clone --recursive https://repo.or.cz/syslinux.git "$(PREFIX)"/src/syslinux
.PHONY: android-udev-rules
android-udev-rules:
git clone https://github.com/M0Rf30/android-udev-rules.git "$(PREFIX)"/src/android-udev-rules
# rather than requiring user to be in `adbusers`, just use group wheel
sed -i .orig -e s/adbusers/wheel/g "$(PREFIX)"/src/android-udev-rules/51-android.rules
mkdir -p /etc/udev/rules.d
cp "$(PREFIX)"/src/android-udev-rules/51-android.rules /etc/udev/rules.d/51-android.rules
chmod a+r /etc/udev/rules.d/51-android.rules
udevadm control --reload-rules
# assumes dinit
dinitctl restart udevd
.PHONY: unscii-pkgsrc
unscii-pkgsrc:
$(MAKE) -C /usr/pkgsrc/fonts/unscii install clean clean-depends

6
soft/wip/moreutils Normal file
View File

@ -0,0 +1,6 @@
#!/bin/sh
NAME=moreutils
VERSION=nightly
UPSTREAM=git://git.joeyh.name/moreutils
. soft

15
soft/wip/netbsd-rogue Normal file
View File

@ -0,0 +1,15 @@
#!/bin/sh
NAME=netbsd-rogue
VERSION=nightly
UPSTREAM=https://github.com/NetBSD/src.git
UPSTREAM_TYPE=custom
. soft
# fetch
git clone --filter=blob:none --no-checkout --depth 1 "$UPSTREAM" "$SRC"
git -C "$SRC" sparse-checkout set --sparse-index games/rogue include/machine sys
git -C "$SRC" checkout trunk
# mangle

11
soft/wip/nethack Normal file
View File

@ -0,0 +1,11 @@
#!/bin/sh
NAME=nethack
VERSION=nightly
UPSTREAM=https://github.com/NetHack/NetHack.git
. soft
sh -c 'cd "$SRC"/sys/unix; sh setup.sh'
$MAKE -C "$SRC" fetch-lua
# the following doesn't work for me
$MAKE -C "$SRC"

293
soft/wip/pandoc Normal file
View File

@ -0,0 +1,293 @@
# System utilities
CC = cc
CFLAGS = -Iinclude/ -Ilib/ -g -Wall -Wextra -Wpedantic
HOME = /home/trinity
PREFIX = /usr/local
RM = rm -f
all:
HOMEPAGE_FILES = homepage propaganda/*
dist/homepage:
mkdir -p dist/homepage.tmp
cp $(HOMEPAGE_FILES) dist/homepage.tmp
cd dist/homepage.tmp; sh homepage; cd ../..
$(RM) dist/homepage.tmp/homepage dist/homepage.tmp/homepage.local
mv dist/homepage.tmp dist/homepage
dist/homepage.tar.gz: dist/homepage
tar cz -C dist/homepage . >dist/homepage.tar.gz
# i made this script to fetch icons for my grandmother and put them in icons/
# so i wouldn't have to fetch the icons for her desktop when i made her a new
# system.
# i could have downloaded all the icons and put them into a repo for her but
# this uses less space
dist/grammy: dist/grammy.tmp/989wclz.com.png \
dist/grammy.tmp/amazon.com.ico \
dist/grammy.tmp/bangordailynews.com.png \
dist/grammy.tmp/theguardian.com.png \
dist/grammy.tmp/centralmaine.com.png \
dist/grammy.tmp/dictionary.com.png \
dist/grammy.tmp/google.com.jpg \
dist/grammy.tmp/longfellowsgreenhouses.com.jpg \
dist/grammy.tmp/mainepublic.org.png \
dist/grammy.tmp/news.google.com.png \
dist/grammy.tmp/newscentermaine.com.png \
dist/grammy.tmp/pressherald.com.png \
dist/grammy.tmp/weather.com.png
mv dist/grammy.tmp dist/grammy
dist/grammy.tmp:
mkdir -p dist/grammy.tmp
dist/grammy.tmp/989wclz.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/989wclz.com.png" "https://web.archive.org/web/20200629174002if_/https://989wclz.com/wp-content/themes/wclz/img/touch-icon-144.png"
dist/grammy.tmp/amazon.com.ico: dist/grammy.tmp
curl -o "dist/grammy.tmp/amazon.com.ico" "https://web.archive.org/web/20200718050400if_/https://www.amazon.com/favicon.ico"
dist/grammy.tmp/bangordailynews.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/bangordailynews.com.png" "http://web.archive.org/web/20200721195123if_/https://i0.wp.com/bdn-data.s3.amazonaws.com/uploads/2020/06/BDN-logo_green-3-1.png"
dist/grammy.tmp/theguardian.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/theguardian.com.png" "https://web.archive.org/web/20200720041457if_/https://assets.guim.co.uk/images/favicons/fee5e2d638d1c35f6d501fa397e53329/152x152.png"
dist/grammy.tmp/centralmaine.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/centralmaine.com.png" "https://web.archive.org/web/20200720023956if_/https://multifiles.pressherald.com/uploads/sites/2/2014/06/apple-touch-icon-iphone-retina-display.png"
dist/grammy.tmp/dictionary.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/dictionary.com.png" "https://web.archive.org/web/20200719135458if_/https://www.dictionary.com/hp-assets/dcom_favicon-1bff2f1b49c077ed504e55c3649f2a4b.png"
dist/grammy.tmp/google.com.jpg: dist/grammy.tmp
curl -o "dist/grammy.tmp/google.com.jpg" "https://web.archive.org/web/20170621105937if_/https://yt3.ggpht.com/-v0soe-ievYE/AAAAAAAAAAI/AAAAAAAAAAA/OixOH_h84Po/s900-c-k-no/photo.jpg"
dist/grammy.tmp/longfellowsgreenhouses.com.jpg: dist/grammy.tmp
curl -o "dist/grammy.tmp/longfellowsgreenhouses.com.jpg" "https://web.archive.org/web/20200718173559im_/https://longfellowsgreenhouses.com/wp-content/uploads/2020/03/Longfellows-Logo-Light-Green.jpg"
dist/grammy.tmp/mainepublic.org.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/mainepublic.org.png" "https://d3kle7qwymxpcy.cloudfront.net/images/broadcasts/e5/8e/30457/1/c300.png"
dist/grammy.tmp/news.google.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/news.google.com.png" "https://upload.wikimedia.org/wikipedia/commons/0/0b/Google_News_icon.png"
dist/grammy.tmp/newscentermaine.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/newscentermaine.com.png" "https://web.archive.org/web/20200721190548if_/https://www.newscentermaine.com/assets/favicons/WCSH.png?ver=2.4.7.4"
dist/grammy.tmp/pressherald.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/pressherald.com.png" "https://multifiles.pressherald.com/uploads/sites/4/2014/06/apple-touch-icon-iphone-retina-display.png"
dist/grammy.tmp/weather.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/weather.com.png" "https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/The_Weather_Channel_logo_2005-present.svg/1200px-The_Weather_Channel_logo_2005-present.svg.png"
dist/ifpublic:
cp ifpublic/ifpublic dist/
dist/pschdir:
$(MAKE) -C pschdir
cp pschdir/pschdir dist/pschdir
dist/spacer.bin:
# creates an 8GB empty file
# that way when the alarm bells go off you can delete it to save a
# couple minutes before the system really runs out of disk
#
# 512 * 16777216 = 8GB
dd bs=512 count=16777216 </dev/zero >dist/spacer.bin
dist/str:
$(MAKE) -C str
cp str/str dist/
dist/streq:
$(MAKE) -C streq
cp streq/streq dist/
$(HOME)/.fonts/unscii-16-full.ttf:
mkdir -p $(HOME)/.fonts/
curl -o $(HOME)/.fonts/unscii-16-full.ttf.tmp http://viznut.fi/unscii/unscii-16-full.ttf
mv $(HOME)/.fonts/unscii-16-full.ttf.tmp $(HOME)/.fonts/unscii-16-full.ttf
# I never finished this because I realized it needed OpenJDK. Fuck Java.
# depends on
# apk:chimerautils (on Chimera Linux)
# apk:curl
$(PREFIX)/src/arduino18:
# the person that made the tarball used the absolute file location in
# the sha512 file, so it looks like
# [sum] /home/user/dir/tarball.tar.xz
# so filter out the file locations before diffing
curl -L https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz
curl -L https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz.sha512 \
| sed 's/ .*//' \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz.sha512
sha512sum arduino-1.8.19.tar.xz \
| sed 's/ .*//' \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz.sha512.local
# if the sums differ the makefile will terminate
cat arduino-1.8.19.tar.xz.sha512 $(PREFIX)/src/arduino-1.8.19.tar.xz.sha512.local \
| uniq \
| wc -l \
| xargs echo \
| xargs test 1 =
xz -cd "$(PREFIX)"/src/arduino-1.8.19.tar.xz \
| tar -C "$(PREFIX)" x
mv "$(PREFIX)"/arduino-1.8.19 "$(PREFIX)"/arduino18
$(PREFIX)/bin/bar:
git clone https://github.com/LemonBoy/bar.git "$(PREFIX)"/src/bar
$(MAKE) -C "$(PREFIX)"/src/bar PREFIX="$(PREFIX)" install
# depends on
# apk:clang
# apk:git
# apk:gmake
# apk:libx11-devel
# apk:libxau-devel
# apk:libxcb-devel
# apk:libxinerama-devel
# apk:xcb-util-devel
# apk:xcb-util-keysyms-devel
# apk:xcb-util-wm-devel
$(PREFIX)/bin/bspwm:
git clone https://github.com/baskerville/bspwm.git "$(PREFIX)"/src/bspwm
$(MAKE) -C "$(PREFIX)"/src/bspwm install
# depends on:
# apk:git (build)
# apk:ncurses-devel (optional if curses.h is present on system)
$(PREFIX)/bin/cmatrix:
git clone https://github.com/abishekvashok/cmatrix.git $(PREFIX)/src/cmatrix
sh -c 'cd "$(PREFIX)"/src/cmatrix; autoreconf -i && ./configure --prefix="$(PREFIX)"'
$(MAKE) -C "$(PREFIX)"/src/cmatrix install
# game.tar should extract to
# 'The Coffin of Andy and Leyley'/
# Game.exe
# [files on which Game.exe depends]
# I originally got it as a RAR which I decompressed and packed into a TAR.
# _CommonRedist/
# dotNetFx40_Full_setup.exe
# dxwebsetup.exe
# oalinst.exe
# vcredist_2015-2019_x64.exe
# vcredist_2015-2019_x86.exe
# vcredist_x64.exe
# vcredist_x86.exe
# xnafx40_redist.msi
# depends on
# apk:curl
# apk:git
# apk:qemu-system-arm
# apk:xz
$(PREFIX)/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.img:
mkdir -p "$(PREFIX)"/bin/coffin_files
curl http://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-11-08/2021-10-30-raspios-bullseye-armhf-full.zip -o "$(PREFIX)"/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.zip
tar -C "$(PREFIX)"/bin/coffin_files xf "$(PREFIX)"/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.zip
#$(PREFIX)/bin/coffin: $(PREFIX)/bin/coffin_files/game.tar $(PREFIX)/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.img $(PREFIX)/src/qemu-rpi-kernel
# Installs the Python script without documentation because I'm lazy and don't
# wanna run the upstream Makefile and then deal with filtering out the Python
# stuff (which is specific to 3.6 which is a little outdated).
# depends on apk:git apk:python
$(PREFIX)/bin/git-filter-repo:
git clone https://github.com/newren/git-filter-repo.git $(PREFIX)/src/git-filter-repo
$(INSTALL) -Dm0755 $(PREFIX)/src/git-filter-repo/git-filter-repo $(PREFIX)/bin/git-filter-repo
# depends on
# apk:git
# apk:texinfo
$(PREFIX)/bin/macchanger:
git clone https://github.com/alobbs/macchanger.git "$(PREFIX)"/src/macchanger
sh -c 'cd "$(PREFIX)"/src/macchanger; ./autogen.sh --prefix=/usr/local/'
# https://github.com/alobbs/macchanger/issues/14
sed -i .orig -e 's/caddr_t/void */' "$(PREFIX)"/src/macchanger/src/netinfo.c
$(MAKE) -C "$(PREFIX)"/src/macchanger install
# nmap 7.80 is the last Free nmap release
# depends on apk:linux-headers
# had to # ln -s /bin/gmake /usr/local/bin/make
# with clang 16.0.6 aarch75-chimera-linux-musl, cannot compile (4 errors?)
$(PREFIX)/bin/nmap:
curl "https://nmap.org/dist/nmap-7.80.tar.bz2" | bzip2 -cd | tar x -C /usr/local/src/
cd /usr/local/src/nmap-7.80; ./configure --prefix=/usr/local
$(MAKE) -C /usr/local/src/nmap-7.80
# depends on
# apk:git
$(PREFIX)/bin/pandoc: $(PREFIX)/bin/cabal
git clone https://github.com/jgm/pandoc.git "$(PREFIX)"/src/pandoc.tmp
mv "$(PREFIX)"/pandoc.tmp "$(PREFIX)"/pandoc
# depends on
# apk:bison
# apk:cairo-devel
# apk:flex
# apk:gdk-pixbuf-devel
# apk:glib-devel
# apk:libxkbcommon-devel
# apk:pango-devel
# apk:pkgconf
# apk:meson
# apk:startup-notification-devel
# apk:xcb-util-cursor-devel
$(PREFIX)/bin/rofi:
git clone https://davatorium/rofi.git $(PREFIX)/src/rofi
sh -c 'cd $(PREFIX)/src/rofi; meson setup build'
ninja -C $(PREFIX)/src/rofi/build install
# depends on
# apk:autoconf
# apk:autoconf-archive
# apk:imlib2-devel
# apk:libxcomposite-devel
# apk:libxfixes-devel
$(PREFIX)/bin/scrot:
git clone https://github.com/resurrecting-open-source-projects/scrot.git "$(PREFIX)"/src/scrot
sh -c 'cd $(PREFIX)/src/scrot && ./autogen.sh && ./configure MAKE=$(MAKE) PREFIX=$(PREFIX)'
$(MAKE) -C $(PREFIX)/src/scrot install
# depends on
# apk:g++
$(PREFIX)/bin/unrar:
git clone https://github.com/pmachapman/unrar.git "$(PREFIX)"/src/unrar
$(MAKE) -C "$(PREFIX)"/src/unrar
$(INSTALL) -Dm0755 "$(PREFIX)"/src/unrar/unrar "$(PREFIX)"/bin/unrar
# I tried final_official_2.50 but it wouldn't build
# (ld: error: duplicate symbol: comDat)
# depends on
# apk:sudo
$(PREFIX)/src/wiringpi:
git clone https://github.com/WiringPi/WiringPi.git $(PREFIX)/src/wiringpi
git -C $(PREFIX)/src/wiringpi checkout 2.61-1
sed -i .old -e /^sudo/d $(PREFIX)/src/wiringpi/build
sed -i .old -e s/root\.root/root\:root/ $(PREFIX)/src/wiringpi/gpio
sh -c 'cd $(PREFIX)/src/wiringpi; sudo=sudo ./build'
$(PREFIX)/bin/xdo:
git clone https://github.com/baskerville/xdo.git $(PREFIX)/src/xdo
$(MAKE) -C $(PREFIX)/src/xdo install
$(PREFIX)/share/audacious/Skins/Sailor_Moon_Gang.wsz:
mkdir -p $(PREFIX)/share/audacious/Skins
curl https://archive.org/download/winampskin_Sailor_Moon_Gang/Sailor_Moon_Gang.wsz -o $(PREFIX)/share/audacious/Skins/Sailor_Moon_Gang.wsz
# depends on
# apk:git
$(PREFIX)/src/qemu-rpi-kernel:
git clone https://github.com/dhruvvyas90/qemu-rpi-kernel "$(PREFIX)"/src/qemu-rpi-kernel
# depends on
# apk:git
$(PREFIX)/src/moreutils:
git clone git://git.joeyh.name/moreutils "$(PREFIX)"/src/moreutils.tmp
mv "$(PREFIX)"/src/moreutils.tmp "$(PREFIX)"/src/moreutils
# depends on
# apk:git
$(PREFIX)/src/syslinux:
git clone --recursive https://repo.or.cz/syslinux.git "$(PREFIX)"/src/syslinux
.PHONY: android-udev-rules
android-udev-rules:
git clone https://github.com/M0Rf30/android-udev-rules.git "$(PREFIX)"/src/android-udev-rules
# rather than requiring user to be in `adbusers`, just use group wheel
sed -i .orig -e s/adbusers/wheel/g "$(PREFIX)"/src/android-udev-rules/51-android.rules
mkdir -p /etc/udev/rules.d
cp "$(PREFIX)"/src/android-udev-rules/51-android.rules /etc/udev/rules.d/51-android.rules
chmod a+r /etc/udev/rules.d/51-android.rules
udevadm control --reload-rules
# assumes dinit
dinitctl restart udevd
.PHONY: unscii-pkgsrc
unscii-pkgsrc:
$(MAKE) -C /usr/pkgsrc/fonts/unscii install clean clean-depends

293
soft/wip/qemu-rpi-kernel Normal file
View File

@ -0,0 +1,293 @@
# System utilities
CC = cc
CFLAGS = -Iinclude/ -Ilib/ -g -Wall -Wextra -Wpedantic
HOME = /home/trinity
PREFIX = /usr/local
RM = rm -f
all:
HOMEPAGE_FILES = homepage propaganda/*
dist/homepage:
mkdir -p dist/homepage.tmp
cp $(HOMEPAGE_FILES) dist/homepage.tmp
cd dist/homepage.tmp; sh homepage; cd ../..
$(RM) dist/homepage.tmp/homepage dist/homepage.tmp/homepage.local
mv dist/homepage.tmp dist/homepage
dist/homepage.tar.gz: dist/homepage
tar cz -C dist/homepage . >dist/homepage.tar.gz
# i made this script to fetch icons for my grandmother and put them in icons/
# so i wouldn't have to fetch the icons for her desktop when i made her a new
# system.
# i could have downloaded all the icons and put them into a repo for her but
# this uses less space
dist/grammy: dist/grammy.tmp/989wclz.com.png \
dist/grammy.tmp/amazon.com.ico \
dist/grammy.tmp/bangordailynews.com.png \
dist/grammy.tmp/theguardian.com.png \
dist/grammy.tmp/centralmaine.com.png \
dist/grammy.tmp/dictionary.com.png \
dist/grammy.tmp/google.com.jpg \
dist/grammy.tmp/longfellowsgreenhouses.com.jpg \
dist/grammy.tmp/mainepublic.org.png \
dist/grammy.tmp/news.google.com.png \
dist/grammy.tmp/newscentermaine.com.png \
dist/grammy.tmp/pressherald.com.png \
dist/grammy.tmp/weather.com.png
mv dist/grammy.tmp dist/grammy
dist/grammy.tmp:
mkdir -p dist/grammy.tmp
dist/grammy.tmp/989wclz.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/989wclz.com.png" "https://web.archive.org/web/20200629174002if_/https://989wclz.com/wp-content/themes/wclz/img/touch-icon-144.png"
dist/grammy.tmp/amazon.com.ico: dist/grammy.tmp
curl -o "dist/grammy.tmp/amazon.com.ico" "https://web.archive.org/web/20200718050400if_/https://www.amazon.com/favicon.ico"
dist/grammy.tmp/bangordailynews.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/bangordailynews.com.png" "http://web.archive.org/web/20200721195123if_/https://i0.wp.com/bdn-data.s3.amazonaws.com/uploads/2020/06/BDN-logo_green-3-1.png"
dist/grammy.tmp/theguardian.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/theguardian.com.png" "https://web.archive.org/web/20200720041457if_/https://assets.guim.co.uk/images/favicons/fee5e2d638d1c35f6d501fa397e53329/152x152.png"
dist/grammy.tmp/centralmaine.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/centralmaine.com.png" "https://web.archive.org/web/20200720023956if_/https://multifiles.pressherald.com/uploads/sites/2/2014/06/apple-touch-icon-iphone-retina-display.png"
dist/grammy.tmp/dictionary.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/dictionary.com.png" "https://web.archive.org/web/20200719135458if_/https://www.dictionary.com/hp-assets/dcom_favicon-1bff2f1b49c077ed504e55c3649f2a4b.png"
dist/grammy.tmp/google.com.jpg: dist/grammy.tmp
curl -o "dist/grammy.tmp/google.com.jpg" "https://web.archive.org/web/20170621105937if_/https://yt3.ggpht.com/-v0soe-ievYE/AAAAAAAAAAI/AAAAAAAAAAA/OixOH_h84Po/s900-c-k-no/photo.jpg"
dist/grammy.tmp/longfellowsgreenhouses.com.jpg: dist/grammy.tmp
curl -o "dist/grammy.tmp/longfellowsgreenhouses.com.jpg" "https://web.archive.org/web/20200718173559im_/https://longfellowsgreenhouses.com/wp-content/uploads/2020/03/Longfellows-Logo-Light-Green.jpg"
dist/grammy.tmp/mainepublic.org.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/mainepublic.org.png" "https://d3kle7qwymxpcy.cloudfront.net/images/broadcasts/e5/8e/30457/1/c300.png"
dist/grammy.tmp/news.google.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/news.google.com.png" "https://upload.wikimedia.org/wikipedia/commons/0/0b/Google_News_icon.png"
dist/grammy.tmp/newscentermaine.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/newscentermaine.com.png" "https://web.archive.org/web/20200721190548if_/https://www.newscentermaine.com/assets/favicons/WCSH.png?ver=2.4.7.4"
dist/grammy.tmp/pressherald.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/pressherald.com.png" "https://multifiles.pressherald.com/uploads/sites/4/2014/06/apple-touch-icon-iphone-retina-display.png"
dist/grammy.tmp/weather.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/weather.com.png" "https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/The_Weather_Channel_logo_2005-present.svg/1200px-The_Weather_Channel_logo_2005-present.svg.png"
dist/ifpublic:
cp ifpublic/ifpublic dist/
dist/pschdir:
$(MAKE) -C pschdir
cp pschdir/pschdir dist/pschdir
dist/spacer.bin:
# creates an 8GB empty file
# that way when the alarm bells go off you can delete it to save a
# couple minutes before the system really runs out of disk
#
# 512 * 16777216 = 8GB
dd bs=512 count=16777216 </dev/zero >dist/spacer.bin
dist/str:
$(MAKE) -C str
cp str/str dist/
dist/streq:
$(MAKE) -C streq
cp streq/streq dist/
$(HOME)/.fonts/unscii-16-full.ttf:
mkdir -p $(HOME)/.fonts/
curl -o $(HOME)/.fonts/unscii-16-full.ttf.tmp http://viznut.fi/unscii/unscii-16-full.ttf
mv $(HOME)/.fonts/unscii-16-full.ttf.tmp $(HOME)/.fonts/unscii-16-full.ttf
# I never finished this because I realized it needed OpenJDK. Fuck Java.
# depends on
# apk:chimerautils (on Chimera Linux)
# apk:curl
$(PREFIX)/src/arduino18:
# the person that made the tarball used the absolute file location in
# the sha512 file, so it looks like
# [sum] /home/user/dir/tarball.tar.xz
# so filter out the file locations before diffing
curl -L https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz
curl -L https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz.sha512 \
| sed 's/ .*//' \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz.sha512
sha512sum arduino-1.8.19.tar.xz \
| sed 's/ .*//' \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz.sha512.local
# if the sums differ the makefile will terminate
cat arduino-1.8.19.tar.xz.sha512 $(PREFIX)/src/arduino-1.8.19.tar.xz.sha512.local \
| uniq \
| wc -l \
| xargs echo \
| xargs test 1 =
xz -cd "$(PREFIX)"/src/arduino-1.8.19.tar.xz \
| tar -C "$(PREFIX)" x
mv "$(PREFIX)"/arduino-1.8.19 "$(PREFIX)"/arduino18
$(PREFIX)/bin/bar:
git clone https://github.com/LemonBoy/bar.git "$(PREFIX)"/src/bar
$(MAKE) -C "$(PREFIX)"/src/bar PREFIX="$(PREFIX)" install
# depends on
# apk:clang
# apk:git
# apk:gmake
# apk:libx11-devel
# apk:libxau-devel
# apk:libxcb-devel
# apk:libxinerama-devel
# apk:xcb-util-devel
# apk:xcb-util-keysyms-devel
# apk:xcb-util-wm-devel
$(PREFIX)/bin/bspwm:
git clone https://github.com/baskerville/bspwm.git "$(PREFIX)"/src/bspwm
$(MAKE) -C "$(PREFIX)"/src/bspwm install
# depends on:
# apk:git (build)
# apk:ncurses-devel (optional if curses.h is present on system)
$(PREFIX)/bin/cmatrix:
git clone https://github.com/abishekvashok/cmatrix.git $(PREFIX)/src/cmatrix
sh -c 'cd "$(PREFIX)"/src/cmatrix; autoreconf -i && ./configure --prefix="$(PREFIX)"'
$(MAKE) -C "$(PREFIX)"/src/cmatrix install
# game.tar should extract to
# 'The Coffin of Andy and Leyley'/
# Game.exe
# [files on which Game.exe depends]
# I originally got it as a RAR which I decompressed and packed into a TAR.
# _CommonRedist/
# dotNetFx40_Full_setup.exe
# dxwebsetup.exe
# oalinst.exe
# vcredist_2015-2019_x64.exe
# vcredist_2015-2019_x86.exe
# vcredist_x64.exe
# vcredist_x86.exe
# xnafx40_redist.msi
# depends on
# apk:curl
# apk:git
# apk:qemu-system-arm
# apk:xz
$(PREFIX)/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.img:
mkdir -p "$(PREFIX)"/bin/coffin_files
curl http://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-11-08/2021-10-30-raspios-bullseye-armhf-full.zip -o "$(PREFIX)"/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.zip
tar -C "$(PREFIX)"/bin/coffin_files xf "$(PREFIX)"/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.zip
#$(PREFIX)/bin/coffin: $(PREFIX)/bin/coffin_files/game.tar $(PREFIX)/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.img $(PREFIX)/src/qemu-rpi-kernel
# Installs the Python script without documentation because I'm lazy and don't
# wanna run the upstream Makefile and then deal with filtering out the Python
# stuff (which is specific to 3.6 which is a little outdated).
# depends on apk:git apk:python
$(PREFIX)/bin/git-filter-repo:
git clone https://github.com/newren/git-filter-repo.git $(PREFIX)/src/git-filter-repo
$(INSTALL) -Dm0755 $(PREFIX)/src/git-filter-repo/git-filter-repo $(PREFIX)/bin/git-filter-repo
# depends on
# apk:git
# apk:texinfo
$(PREFIX)/bin/macchanger:
git clone https://github.com/alobbs/macchanger.git "$(PREFIX)"/src/macchanger
sh -c 'cd "$(PREFIX)"/src/macchanger; ./autogen.sh --prefix=/usr/local/'
# https://github.com/alobbs/macchanger/issues/14
sed -i .orig -e 's/caddr_t/void */' "$(PREFIX)"/src/macchanger/src/netinfo.c
$(MAKE) -C "$(PREFIX)"/src/macchanger install
# nmap 7.80 is the last Free nmap release
# depends on apk:linux-headers
# had to # ln -s /bin/gmake /usr/local/bin/make
# with clang 16.0.6 aarch75-chimera-linux-musl, cannot compile (4 errors?)
$(PREFIX)/bin/nmap:
curl "https://nmap.org/dist/nmap-7.80.tar.bz2" | bzip2 -cd | tar x -C /usr/local/src/
cd /usr/local/src/nmap-7.80; ./configure --prefix=/usr/local
$(MAKE) -C /usr/local/src/nmap-7.80
# depends on
# apk:git
$(PREFIX)/bin/pandoc: $(PREFIX)/bin/cabal
git clone https://github.com/jgm/pandoc.git "$(PREFIX)"/src/pandoc.tmp
mv "$(PREFIX)"/pandoc.tmp "$(PREFIX)"/pandoc
# depends on
# apk:bison
# apk:cairo-devel
# apk:flex
# apk:gdk-pixbuf-devel
# apk:glib-devel
# apk:libxkbcommon-devel
# apk:pango-devel
# apk:pkgconf
# apk:meson
# apk:startup-notification-devel
# apk:xcb-util-cursor-devel
$(PREFIX)/bin/rofi:
git clone https://davatorium/rofi.git $(PREFIX)/src/rofi
sh -c 'cd $(PREFIX)/src/rofi; meson setup build'
ninja -C $(PREFIX)/src/rofi/build install
# depends on
# apk:autoconf
# apk:autoconf-archive
# apk:imlib2-devel
# apk:libxcomposite-devel
# apk:libxfixes-devel
$(PREFIX)/bin/scrot:
git clone https://github.com/resurrecting-open-source-projects/scrot.git "$(PREFIX)"/src/scrot
sh -c 'cd $(PREFIX)/src/scrot && ./autogen.sh && ./configure MAKE=$(MAKE) PREFIX=$(PREFIX)'
$(MAKE) -C $(PREFIX)/src/scrot install
# depends on
# apk:g++
$(PREFIX)/bin/unrar:
git clone https://github.com/pmachapman/unrar.git "$(PREFIX)"/src/unrar
$(MAKE) -C "$(PREFIX)"/src/unrar
$(INSTALL) -Dm0755 "$(PREFIX)"/src/unrar/unrar "$(PREFIX)"/bin/unrar
# I tried final_official_2.50 but it wouldn't build
# (ld: error: duplicate symbol: comDat)
# depends on
# apk:sudo
$(PREFIX)/src/wiringpi:
git clone https://github.com/WiringPi/WiringPi.git $(PREFIX)/src/wiringpi
git -C $(PREFIX)/src/wiringpi checkout 2.61-1
sed -i .old -e /^sudo/d $(PREFIX)/src/wiringpi/build
sed -i .old -e s/root\.root/root\:root/ $(PREFIX)/src/wiringpi/gpio
sh -c 'cd $(PREFIX)/src/wiringpi; sudo=sudo ./build'
$(PREFIX)/bin/xdo:
git clone https://github.com/baskerville/xdo.git $(PREFIX)/src/xdo
$(MAKE) -C $(PREFIX)/src/xdo install
$(PREFIX)/share/audacious/Skins/Sailor_Moon_Gang.wsz:
mkdir -p $(PREFIX)/share/audacious/Skins
curl https://archive.org/download/winampskin_Sailor_Moon_Gang/Sailor_Moon_Gang.wsz -o $(PREFIX)/share/audacious/Skins/Sailor_Moon_Gang.wsz
# depends on
# apk:git
$(PREFIX)/src/qemu-rpi-kernel:
git clone https://github.com/dhruvvyas90/qemu-rpi-kernel "$(PREFIX)"/src/qemu-rpi-kernel
# depends on
# apk:git
$(PREFIX)/src/moreutils:
git clone git://git.joeyh.name/moreutils "$(PREFIX)"/src/moreutils.tmp
mv "$(PREFIX)"/src/moreutils.tmp "$(PREFIX)"/src/moreutils
# depends on
# apk:git
$(PREFIX)/src/syslinux:
git clone --recursive https://repo.or.cz/syslinux.git "$(PREFIX)"/src/syslinux
.PHONY: android-udev-rules
android-udev-rules:
git clone https://github.com/M0Rf30/android-udev-rules.git "$(PREFIX)"/src/android-udev-rules
# rather than requiring user to be in `adbusers`, just use group wheel
sed -i .orig -e s/adbusers/wheel/g "$(PREFIX)"/src/android-udev-rules/51-android.rules
mkdir -p /etc/udev/rules.d
cp "$(PREFIX)"/src/android-udev-rules/51-android.rules /etc/udev/rules.d/51-android.rules
chmod a+r /etc/udev/rules.d/51-android.rules
udevadm control --reload-rules
# assumes dinit
dinitctl restart udevd
.PHONY: unscii-pkgsrc
unscii-pkgsrc:
$(MAKE) -C /usr/pkgsrc/fonts/unscii install clean clean-depends

293
soft/wip/syslinux Normal file
View File

@ -0,0 +1,293 @@
# System utilities
CC = cc
CFLAGS = -Iinclude/ -Ilib/ -g -Wall -Wextra -Wpedantic
HOME = /home/trinity
PREFIX = /usr/local
RM = rm -f
all:
HOMEPAGE_FILES = homepage propaganda/*
dist/homepage:
mkdir -p dist/homepage.tmp
cp $(HOMEPAGE_FILES) dist/homepage.tmp
cd dist/homepage.tmp; sh homepage; cd ../..
$(RM) dist/homepage.tmp/homepage dist/homepage.tmp/homepage.local
mv dist/homepage.tmp dist/homepage
dist/homepage.tar.gz: dist/homepage
tar cz -C dist/homepage . >dist/homepage.tar.gz
# i made this script to fetch icons for my grandmother and put them in icons/
# so i wouldn't have to fetch the icons for her desktop when i made her a new
# system.
# i could have downloaded all the icons and put them into a repo for her but
# this uses less space
dist/grammy: dist/grammy.tmp/989wclz.com.png \
dist/grammy.tmp/amazon.com.ico \
dist/grammy.tmp/bangordailynews.com.png \
dist/grammy.tmp/theguardian.com.png \
dist/grammy.tmp/centralmaine.com.png \
dist/grammy.tmp/dictionary.com.png \
dist/grammy.tmp/google.com.jpg \
dist/grammy.tmp/longfellowsgreenhouses.com.jpg \
dist/grammy.tmp/mainepublic.org.png \
dist/grammy.tmp/news.google.com.png \
dist/grammy.tmp/newscentermaine.com.png \
dist/grammy.tmp/pressherald.com.png \
dist/grammy.tmp/weather.com.png
mv dist/grammy.tmp dist/grammy
dist/grammy.tmp:
mkdir -p dist/grammy.tmp
dist/grammy.tmp/989wclz.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/989wclz.com.png" "https://web.archive.org/web/20200629174002if_/https://989wclz.com/wp-content/themes/wclz/img/touch-icon-144.png"
dist/grammy.tmp/amazon.com.ico: dist/grammy.tmp
curl -o "dist/grammy.tmp/amazon.com.ico" "https://web.archive.org/web/20200718050400if_/https://www.amazon.com/favicon.ico"
dist/grammy.tmp/bangordailynews.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/bangordailynews.com.png" "http://web.archive.org/web/20200721195123if_/https://i0.wp.com/bdn-data.s3.amazonaws.com/uploads/2020/06/BDN-logo_green-3-1.png"
dist/grammy.tmp/theguardian.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/theguardian.com.png" "https://web.archive.org/web/20200720041457if_/https://assets.guim.co.uk/images/favicons/fee5e2d638d1c35f6d501fa397e53329/152x152.png"
dist/grammy.tmp/centralmaine.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/centralmaine.com.png" "https://web.archive.org/web/20200720023956if_/https://multifiles.pressherald.com/uploads/sites/2/2014/06/apple-touch-icon-iphone-retina-display.png"
dist/grammy.tmp/dictionary.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/dictionary.com.png" "https://web.archive.org/web/20200719135458if_/https://www.dictionary.com/hp-assets/dcom_favicon-1bff2f1b49c077ed504e55c3649f2a4b.png"
dist/grammy.tmp/google.com.jpg: dist/grammy.tmp
curl -o "dist/grammy.tmp/google.com.jpg" "https://web.archive.org/web/20170621105937if_/https://yt3.ggpht.com/-v0soe-ievYE/AAAAAAAAAAI/AAAAAAAAAAA/OixOH_h84Po/s900-c-k-no/photo.jpg"
dist/grammy.tmp/longfellowsgreenhouses.com.jpg: dist/grammy.tmp
curl -o "dist/grammy.tmp/longfellowsgreenhouses.com.jpg" "https://web.archive.org/web/20200718173559im_/https://longfellowsgreenhouses.com/wp-content/uploads/2020/03/Longfellows-Logo-Light-Green.jpg"
dist/grammy.tmp/mainepublic.org.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/mainepublic.org.png" "https://d3kle7qwymxpcy.cloudfront.net/images/broadcasts/e5/8e/30457/1/c300.png"
dist/grammy.tmp/news.google.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/news.google.com.png" "https://upload.wikimedia.org/wikipedia/commons/0/0b/Google_News_icon.png"
dist/grammy.tmp/newscentermaine.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/newscentermaine.com.png" "https://web.archive.org/web/20200721190548if_/https://www.newscentermaine.com/assets/favicons/WCSH.png?ver=2.4.7.4"
dist/grammy.tmp/pressherald.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/pressherald.com.png" "https://multifiles.pressherald.com/uploads/sites/4/2014/06/apple-touch-icon-iphone-retina-display.png"
dist/grammy.tmp/weather.com.png: dist/grammy.tmp
curl -o "dist/grammy.tmp/weather.com.png" "https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/The_Weather_Channel_logo_2005-present.svg/1200px-The_Weather_Channel_logo_2005-present.svg.png"
dist/ifpublic:
cp ifpublic/ifpublic dist/
dist/pschdir:
$(MAKE) -C pschdir
cp pschdir/pschdir dist/pschdir
dist/spacer.bin:
# creates an 8GB empty file
# that way when the alarm bells go off you can delete it to save a
# couple minutes before the system really runs out of disk
#
# 512 * 16777216 = 8GB
dd bs=512 count=16777216 </dev/zero >dist/spacer.bin
dist/str:
$(MAKE) -C str
cp str/str dist/
dist/streq:
$(MAKE) -C streq
cp streq/streq dist/
$(HOME)/.fonts/unscii-16-full.ttf:
mkdir -p $(HOME)/.fonts/
curl -o $(HOME)/.fonts/unscii-16-full.ttf.tmp http://viznut.fi/unscii/unscii-16-full.ttf
mv $(HOME)/.fonts/unscii-16-full.ttf.tmp $(HOME)/.fonts/unscii-16-full.ttf
# I never finished this because I realized it needed OpenJDK. Fuck Java.
# depends on
# apk:chimerautils (on Chimera Linux)
# apk:curl
$(PREFIX)/src/arduino18:
# the person that made the tarball used the absolute file location in
# the sha512 file, so it looks like
# [sum] /home/user/dir/tarball.tar.xz
# so filter out the file locations before diffing
curl -L https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz
curl -L https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz.sha512 \
| sed 's/ .*//' \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz.sha512
sha512sum arduino-1.8.19.tar.xz \
| sed 's/ .*//' \
>"$(PREFIX)"/src/arduino-1.8.19.tar.xz.sha512.local
# if the sums differ the makefile will terminate
cat arduino-1.8.19.tar.xz.sha512 $(PREFIX)/src/arduino-1.8.19.tar.xz.sha512.local \
| uniq \
| wc -l \
| xargs echo \
| xargs test 1 =
xz -cd "$(PREFIX)"/src/arduino-1.8.19.tar.xz \
| tar -C "$(PREFIX)" x
mv "$(PREFIX)"/arduino-1.8.19 "$(PREFIX)"/arduino18
$(PREFIX)/bin/bar:
git clone https://github.com/LemonBoy/bar.git "$(PREFIX)"/src/bar
$(MAKE) -C "$(PREFIX)"/src/bar PREFIX="$(PREFIX)" install
# depends on
# apk:clang
# apk:git
# apk:gmake
# apk:libx11-devel
# apk:libxau-devel
# apk:libxcb-devel
# apk:libxinerama-devel
# apk:xcb-util-devel
# apk:xcb-util-keysyms-devel
# apk:xcb-util-wm-devel
$(PREFIX)/bin/bspwm:
git clone https://github.com/baskerville/bspwm.git "$(PREFIX)"/src/bspwm
$(MAKE) -C "$(PREFIX)"/src/bspwm install
# depends on:
# apk:git (build)
# apk:ncurses-devel (optional if curses.h is present on system)
$(PREFIX)/bin/cmatrix:
git clone https://github.com/abishekvashok/cmatrix.git $(PREFIX)/src/cmatrix
sh -c 'cd "$(PREFIX)"/src/cmatrix; autoreconf -i && ./configure --prefix="$(PREFIX)"'
$(MAKE) -C "$(PREFIX)"/src/cmatrix install
# game.tar should extract to
# 'The Coffin of Andy and Leyley'/
# Game.exe
# [files on which Game.exe depends]
# I originally got it as a RAR which I decompressed and packed into a TAR.
# _CommonRedist/
# dotNetFx40_Full_setup.exe
# dxwebsetup.exe
# oalinst.exe
# vcredist_2015-2019_x64.exe
# vcredist_2015-2019_x86.exe
# vcredist_x64.exe
# vcredist_x86.exe
# xnafx40_redist.msi
# depends on
# apk:curl
# apk:git
# apk:qemu-system-arm
# apk:xz
$(PREFIX)/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.img:
mkdir -p "$(PREFIX)"/bin/coffin_files
curl http://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-11-08/2021-10-30-raspios-bullseye-armhf-full.zip -o "$(PREFIX)"/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.zip
tar -C "$(PREFIX)"/bin/coffin_files xf "$(PREFIX)"/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.zip
#$(PREFIX)/bin/coffin: $(PREFIX)/bin/coffin_files/game.tar $(PREFIX)/bin/coffin_files/2021-10-30-raspios-bullseye-armhf-full.img $(PREFIX)/src/qemu-rpi-kernel
# Installs the Python script without documentation because I'm lazy and don't
# wanna run the upstream Makefile and then deal with filtering out the Python
# stuff (which is specific to 3.6 which is a little outdated).
# depends on apk:git apk:python
$(PREFIX)/bin/git-filter-repo:
git clone https://github.com/newren/git-filter-repo.git $(PREFIX)/src/git-filter-repo
$(INSTALL) -Dm0755 $(PREFIX)/src/git-filter-repo/git-filter-repo $(PREFIX)/bin/git-filter-repo
# depends on
# apk:git
# apk:texinfo
$(PREFIX)/bin/macchanger:
git clone https://github.com/alobbs/macchanger.git "$(PREFIX)"/src/macchanger
sh -c 'cd "$(PREFIX)"/src/macchanger; ./autogen.sh --prefix=/usr/local/'
# https://github.com/alobbs/macchanger/issues/14
sed -i .orig -e 's/caddr_t/void */' "$(PREFIX)"/src/macchanger/src/netinfo.c
$(MAKE) -C "$(PREFIX)"/src/macchanger install
# nmap 7.80 is the last Free nmap release
# depends on apk:linux-headers
# had to # ln -s /bin/gmake /usr/local/bin/make
# with clang 16.0.6 aarch75-chimera-linux-musl, cannot compile (4 errors?)
$(PREFIX)/bin/nmap:
curl "https://nmap.org/dist/nmap-7.80.tar.bz2" | bzip2 -cd | tar x -C /usr/local/src/
cd /usr/local/src/nmap-7.80; ./configure --prefix=/usr/local
$(MAKE) -C /usr/local/src/nmap-7.80
# depends on
# apk:git
$(PREFIX)/bin/pandoc: $(PREFIX)/bin/cabal
git clone https://github.com/jgm/pandoc.git "$(PREFIX)"/src/pandoc.tmp
mv "$(PREFIX)"/pandoc.tmp "$(PREFIX)"/pandoc
# depends on
# apk:bison
# apk:cairo-devel
# apk:flex
# apk:gdk-pixbuf-devel
# apk:glib-devel
# apk:libxkbcommon-devel
# apk:pango-devel
# apk:pkgconf
# apk:meson
# apk:startup-notification-devel
# apk:xcb-util-cursor-devel
$(PREFIX)/bin/rofi:
git clone https://davatorium/rofi.git $(PREFIX)/src/rofi
sh -c 'cd $(PREFIX)/src/rofi; meson setup build'
ninja -C $(PREFIX)/src/rofi/build install
# depends on
# apk:autoconf
# apk:autoconf-archive
# apk:imlib2-devel
# apk:libxcomposite-devel
# apk:libxfixes-devel
$(PREFIX)/bin/scrot:
git clone https://github.com/resurrecting-open-source-projects/scrot.git "$(PREFIX)"/src/scrot
sh -c 'cd $(PREFIX)/src/scrot && ./autogen.sh && ./configure MAKE=$(MAKE) PREFIX=$(PREFIX)'
$(MAKE) -C $(PREFIX)/src/scrot install
# depends on
# apk:g++
$(PREFIX)/bin/unrar:
git clone https://github.com/pmachapman/unrar.git "$(PREFIX)"/src/unrar
$(MAKE) -C "$(PREFIX)"/src/unrar
$(INSTALL) -Dm0755 "$(PREFIX)"/src/unrar/unrar "$(PREFIX)"/bin/unrar
# I tried final_official_2.50 but it wouldn't build
# (ld: error: duplicate symbol: comDat)
# depends on
# apk:sudo
$(PREFIX)/src/wiringpi:
git clone https://github.com/WiringPi/WiringPi.git $(PREFIX)/src/wiringpi
git -C $(PREFIX)/src/wiringpi checkout 2.61-1
sed -i .old -e /^sudo/d $(PREFIX)/src/wiringpi/build
sed -i .old -e s/root\.root/root\:root/ $(PREFIX)/src/wiringpi/gpio
sh -c 'cd $(PREFIX)/src/wiringpi; sudo=sudo ./build'
$(PREFIX)/bin/xdo:
git clone https://github.com/baskerville/xdo.git $(PREFIX)/src/xdo
$(MAKE) -C $(PREFIX)/src/xdo install
$(PREFIX)/share/audacious/Skins/Sailor_Moon_Gang.wsz:
mkdir -p $(PREFIX)/share/audacious/Skins
curl https://archive.org/download/winampskin_Sailor_Moon_Gang/Sailor_Moon_Gang.wsz -o $(PREFIX)/share/audacious/Skins/Sailor_Moon_Gang.wsz
# depends on
# apk:git
$(PREFIX)/src/qemu-rpi-kernel:
git clone https://github.com/dhruvvyas90/qemu-rpi-kernel "$(PREFIX)"/src/qemu-rpi-kernel
# depends on
# apk:git
$(PREFIX)/src/moreutils:
git clone git://git.joeyh.name/moreutils "$(PREFIX)"/src/moreutils.tmp
mv "$(PREFIX)"/src/moreutils.tmp "$(PREFIX)"/src/moreutils
# depends on
# apk:git
$(PREFIX)/src/syslinux:
git clone --recursive https://repo.or.cz/syslinux.git "$(PREFIX)"/src/syslinux
.PHONY: android-udev-rules
android-udev-rules:
git clone https://github.com/M0Rf30/android-udev-rules.git "$(PREFIX)"/src/android-udev-rules
# rather than requiring user to be in `adbusers`, just use group wheel
sed -i .orig -e s/adbusers/wheel/g "$(PREFIX)"/src/android-udev-rules/51-android.rules
mkdir -p /etc/udev/rules.d
cp "$(PREFIX)"/src/android-udev-rules/51-android.rules /etc/udev/rules.d/51-android.rules
chmod a+r /etc/udev/rules.d/51-android.rules
udevadm control --reload-rules
# assumes dinit
dinitctl restart udevd
.PHONY: unscii-pkgsrc
unscii-pkgsrc:
$(MAKE) -C /usr/pkgsrc/fonts/unscii install clean clean-depends