commit c702a8c0183e03819622a0e0a1c8d33af9dd0be0 parent 56780db3e7f0748a79c19db7fa00d8da941fa64b Author: Szymon Mikulicz <szymon.mikulicz@posteo.net> Date: Tue, 9 Sep 2025 21:29:22 +0200 Add cargo and perl Diffstat:
| M | instowl | | | 36 | +++++++++++++++++++++++++++++++++--- |
1 file changed, 33 insertions(+), 3 deletions(-)
diff --git a/instowl b/instowl @@ -4,8 +4,10 @@ shopt -s dotglob export PKG_CONFIG_PATH=$HOME/.local/lib/pkgconfig/ export CFLAGS="-I$HOME/.local/include" +export PERL5LIB="$HOME/.local/lib/perl5/" state="init" +install_state="make_install" main() { local dir="$HOME/.local" @@ -29,6 +31,10 @@ main() { state="autogen" elif [ -f CMakeLists.txt ]; then state="cmake" + elif [ -f build.rs ]; then + state="cargo" + elif [ -f Build.PL ]; then + state="perl" fi ;; autogen) @@ -54,20 +60,44 @@ main() { fi make -C "$builddir" "${makeflags[@]}" || return 2 - state="install" + state="pre_install" ;; - install) + pre_install) + mkdir -vp "$pkgdir" if [ -n "$prefix" ]; then destdir="$(mktemp -d)" trap "rm -rf $destdir" RETURN fi + state="${install_state}" + ;; + make_install) make -C "$builddir" install DESTDIR="$destdir" || return 3 + state="fixpaths" + ;; + perl) + perl ./Build.PL || return 2 + prefix="$dir" + install_state="perl_install" + state="pre_install" + ;; + perl_install) + ./Build install --install_base "$prefix" --destdir "$destdir" || return 3 + state="post_install" + ;; + post_install) if [ -n "$prefix" ]; then - mkdir -vp "$pkgdir" find "$destdir$prefix" -type f -printf "%P\n" | xargs -I{} install -CDv "$destdir$prefix/{}" "$pkgdir/{}" fi state="stow" ;; + cargo) + install_state="cargo_install" + state="pre_install" + ;; + cargo_install) + cargo install --no-track --root "$pkgdir" --path . || return 3 + state="post_install" + ;; stow) stow -vv -d "$dir/pkg" "$pkg" state="exit"