1
0

soft package manager

This commit is contained in:
dtb 2023-11-25 01:16:47 -07:00
parent b3c760446f
commit cfa82df72b
8 changed files with 95 additions and 204 deletions

204
Makefile
View File

@ -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

16
soft/android-udev-rules Normal file
View File

@ -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

View File

@ -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"

9
soft/bar Normal file
View File

@ -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

18
soft/bspwm Normal file
View File

@ -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

13
soft/cmatrix Normal file
View File

@ -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

8
soft/git-filter-repo Normal file
View File

@ -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"

20
soft/soft Normal file
View File

@ -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
}