From cfa82df72b20e7c3fcf4d6fe379b02ab740201b0 Mon Sep 17 00:00:00 2001 From: DTB Date: Sat, 25 Nov 2023 01:16:47 -0700 Subject: [PATCH] soft package manager --- Makefile | 204 -------------------------- soft/android-udev-rules | 16 ++ soft/audacious-theme-sailor-moon-gang | 11 ++ soft/bar | 9 ++ soft/bspwm | 18 +++ soft/cmatrix | 13 ++ soft/git-filter-repo | 8 + soft/soft | 20 +++ 8 files changed, 95 insertions(+), 204 deletions(-) create mode 100644 soft/android-udev-rules create mode 100644 soft/audacious-theme-sailor-moon-gang create mode 100644 soft/bar create mode 100644 soft/bspwm create mode 100644 soft/cmatrix create mode 100644 soft/git-filter-repo create mode 100644 soft/soft diff --git a/Makefile b/Makefile index a0fbd74..8afa127 100644 --- a/Makefile +++ b/Makefile @@ -87,207 +87,3 @@ dist/str: 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/android-udev-rules b/soft/android-udev-rules new file mode 100644 index 0000000..fe1292c --- /dev/null +++ b/soft/android-udev-rules @@ -0,0 +1,16 @@ +#!/bin/sh + +NAME=android-udev-rules +VERSION=nightly +UPSTREAM=https://github.com/M0Rf30/android-udev-rules.git +UPSTREAM_TYPE=git +. soft + +# 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 + +soft_advise '#' udevadm control --reload-rules +soft_advice '#' dinitctl restart udevd diff --git a/soft/audacious-theme-sailor-moon-gang b/soft/audacious-theme-sailor-moon-gang new file mode 100644 index 0000000..e2ffd7b --- /dev/null +++ b/soft/audacious-theme-sailor-moon-gang @@ -0,0 +1,11 @@ +#!/bin/sh + +NAME=audacious-theme-sailor-moon-gang +VERSION=1.0.0 +UPSTREAM=https://archive.org/download/winampskin_Sailor_Moon_Gang/Sailor_Moon_Gang.wsz +UPSTREAM_TYPE=https +. soft + +mkdir -p "$PREFIX/share/audacious/Skins" +ln -s "$PREFIX/src/$NAME/Sailor_Moon_Gang.wsz" \ + "$PREFIX/share/audacious/Skins/Sailor_Moon_Gang.wsz" diff --git a/soft/bar b/soft/bar new file mode 100644 index 0000000..89ca9bf --- /dev/null +++ b/soft/bar @@ -0,0 +1,9 @@ +#!/bin/sh + +NAME=bar +VERSION=nightly +UPSTREAM=https://github.com/LemonBoy/bar.git +UPSTREAM_TYPE=git +. soft + +$GMAKE -C "$PREFIX/src/$NAME" PREFIX="$PREFIX" install diff --git a/soft/bspwm b/soft/bspwm new file mode 100644 index 0000000..1ff346c --- /dev/null +++ b/soft/bspwm @@ -0,0 +1,18 @@ +#!/bin/sh + +NAME=bspwm +VERSION=nightly +UPSTREAM=https://github.com/baskerville/bspwm.git +UPSTREAM_TYPE=git +. soft + +# depends on +# libx11-devel +# libxau-devel +# libxcb-devel +# libxinerama-devel +# xcb-util-devel +# xcb-util-keysyms-devel +# xcb-util-wm-devel + +$GMAKE -C "$PREFIX/src/NAME" install diff --git a/soft/cmatrix b/soft/cmatrix new file mode 100644 index 0000000..6523703 --- /dev/null +++ b/soft/cmatrix @@ -0,0 +1,13 @@ +#!/bin/sh + +NAME=cmatrix +VERSION=nightly +UPSTREAM=https://github.com/abishekvashok/cmatrix.git +UPSTREAM_TYPE=git +. soft + +# depends on: +# ncurses-devel (optional if curses.h is present on system) + +sh -c 'cd "$PREFIX/src/$NAME"; autoreconf -i && ./configure --prefix="$PREFIX"' +$GMAKE -C "$PREFIX/src/$NAME" install diff --git a/soft/git-filter-repo b/soft/git-filter-repo new file mode 100644 index 0000000..d316908 --- /dev/null +++ b/soft/git-filter-repo @@ -0,0 +1,8 @@ +#!/bin/sh + +NAME=git-filter-repo +VERSION=nightly +UPSTREAM=https://github.com/newren/git-filter-repo.git +UPSTREAM_TYPE=git + +ln -s "$PREFIX/src/$NAME/git-filter-repo" "$PREFIX/bin/git-filter-repo" diff --git a/soft/soft b/soft/soft new file mode 100644 index 0000000..eb66b3d --- /dev/null +++ b/soft/soft @@ -0,0 +1,20 @@ +#!/bin/sh + +set -e + +GMAKE=gmake +PREFIX=/usr/local + +case "$UPSTREAM_TYPE" in +https) mkdir -p "$PREFIX/src/$NAME" + curl -O "$UPSTREAM" --output-dir "$PREFIX/src/$NAME" ;; +git) git pull "$UPSTREAM" "$PREFIX/src/$NAME" ;; +*) ! printf '%s: %s: %s: Unknown upstream type\n' \ + soft "$NAME" "$UPSTREAM_TYPE" >&2 ;; +esac + +soft_advise(){ + printf "\ +%s: %s: It is advised to run the following, or the system equivalent: + %s\n" soft "$NAME" "$*" >&2 +}