# 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