From b815e9303bedd897fc06897adc82d6ee56d6171f Mon Sep 17 00:00:00 2001 From: DTB Date: Tue, 23 Jul 2024 19:40:54 -0600 Subject: [PATCH] soft wip --- {simexec => Retired/simexec}/Makefile | 0 {simexec => Retired/simexec}/packaging.md | 0 {simexec => Retired/simexec}/simexec.1 | 0 {simexec => Retired/simexec}/simexec.c | 0 soft/wip/arduino18 | 293 ++++++++++++++++++++++ soft/wip/coffin | 293 ++++++++++++++++++++++ soft/wip/moreutils | 6 + soft/wip/netbsd-rogue | 15 ++ soft/wip/nethack | 11 + soft/wip/pandoc | 293 ++++++++++++++++++++++ soft/wip/qemu-rpi-kernel | 293 ++++++++++++++++++++++ soft/wip/syslinux | 293 ++++++++++++++++++++++ 12 files changed, 1497 insertions(+) rename {simexec => Retired/simexec}/Makefile (100%) rename {simexec => Retired/simexec}/packaging.md (100%) rename {simexec => Retired/simexec}/simexec.1 (100%) rename {simexec => Retired/simexec}/simexec.c (100%) create mode 100644 soft/wip/arduino18 create mode 100644 soft/wip/coffin create mode 100644 soft/wip/moreutils create mode 100644 soft/wip/netbsd-rogue create mode 100644 soft/wip/nethack create mode 100644 soft/wip/pandoc create mode 100644 soft/wip/qemu-rpi-kernel create mode 100644 soft/wip/syslinux diff --git a/simexec/Makefile b/Retired/simexec/Makefile similarity index 100% rename from simexec/Makefile rename to Retired/simexec/Makefile diff --git a/simexec/packaging.md b/Retired/simexec/packaging.md similarity index 100% rename from simexec/packaging.md rename to Retired/simexec/packaging.md diff --git a/simexec/simexec.1 b/Retired/simexec/simexec.1 similarity index 100% rename from simexec/simexec.1 rename to Retired/simexec/simexec.1 diff --git a/simexec/simexec.c b/Retired/simexec/simexec.c similarity index 100% rename from simexec/simexec.c rename to Retired/simexec/simexec.c diff --git a/soft/wip/arduino18 b/soft/wip/arduino18 new file mode 100644 index 0000000..a0fbd74 --- /dev/null +++ b/soft/wip/arduino18 @@ -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 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 diff --git a/soft/wip/coffin b/soft/wip/coffin new file mode 100644 index 0000000..a0fbd74 --- /dev/null +++ b/soft/wip/coffin @@ -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 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 diff --git a/soft/wip/moreutils b/soft/wip/moreutils new file mode 100644 index 0000000..701f035 --- /dev/null +++ b/soft/wip/moreutils @@ -0,0 +1,6 @@ +#!/bin/sh + +NAME=moreutils +VERSION=nightly +UPSTREAM=git://git.joeyh.name/moreutils +. soft diff --git a/soft/wip/netbsd-rogue b/soft/wip/netbsd-rogue new file mode 100644 index 0000000..7670a6d --- /dev/null +++ b/soft/wip/netbsd-rogue @@ -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 + diff --git a/soft/wip/nethack b/soft/wip/nethack new file mode 100644 index 0000000..78bda58 --- /dev/null +++ b/soft/wip/nethack @@ -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" diff --git a/soft/wip/pandoc b/soft/wip/pandoc new file mode 100644 index 0000000..a0fbd74 --- /dev/null +++ b/soft/wip/pandoc @@ -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 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 diff --git a/soft/wip/qemu-rpi-kernel b/soft/wip/qemu-rpi-kernel new file mode 100644 index 0000000..a0fbd74 --- /dev/null +++ b/soft/wip/qemu-rpi-kernel @@ -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 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 diff --git a/soft/wip/syslinux b/soft/wip/syslinux new file mode 100644 index 0000000..a0fbd74 --- /dev/null +++ b/soft/wip/syslinux @@ -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 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