yage
5c882597da
===================================================================== --- Bug Fixes ---------------------------- - git/package/install didn't create build dir if it did not exist
75 lines
1.8 KiB
Bash
75 lines
1.8 KiB
Bash
_DEPENDENCIES+=()
|
|
_REQUIRED_ENV+=()
|
|
source ${0:a:h}/../common.zsh
|
|
#####################################################################
|
|
|
|
PACKAGE_INSTALL_DIR="$HOME/.local/share/source-packages"
|
|
[ ! -d "$PACKAGE_INSTALL_DIR" ] && mkdir -p "$PACKAGE_INSTALL_DIR"
|
|
|
|
#####################################################################
|
|
|
|
CLONE() {
|
|
cd "$PACKAGE_INSTALL_DIR"
|
|
__STATUS "downloading $NAME"
|
|
git clone "$TARGET" "$NAME" \
|
|
&& __SUCCESS "successfully downloaded '$NAME'" \
|
|
|| __FAIL 1 "failed to download '$NAME'" \
|
|
;
|
|
}
|
|
|
|
PULL() {
|
|
__STATUS "updating '$NAME'"
|
|
cd "$PACKAGE_INSTALL_DIR/$NAME"
|
|
git pull origin $(git rev-parse --abbrev-ref HEAD) \
|
|
&& __SUCCESS "successfully updated '$NAME'" \
|
|
|| __FAIL 1 "failed to update '$NAME'" \
|
|
;
|
|
}
|
|
|
|
#####################################################################
|
|
|
|
BUILD() {
|
|
cd "$PACKAGE_INSTALL_DIR/$NAME"
|
|
|
|
CHECK_MAKE && { MAKE && return 0 || return 1; }
|
|
CHECK_MAKEPKG && { MAKEPKG && return 0 || return 2; }
|
|
|
|
__WARNING 'could not detect supported installation method'
|
|
|
|
__REMINDER 'complete manual installation in the directory below:'
|
|
__REMINDER "$PACKAGE_INSTALL_DIR/$NAME"
|
|
}
|
|
|
|
CHECK_MAKE() { [ -f ./Makefile ]; }
|
|
CHECK_MAKEPKG() { [ -f ./PKGBUILD ]; }
|
|
|
|
MAKE() {
|
|
[[ $CLEAN -eq 1 ]] && {
|
|
__STATUS "cleaning '$NAME'"
|
|
make clean
|
|
}
|
|
|
|
__STATUS "building '$NAME'"
|
|
make \
|
|
&& __SUCCESS "finished building '$NAME'" \
|
|
|| __FAIL 1 "build failed for '$NAME' (see above)"\
|
|
;
|
|
|
|
__STATUS "installing '$NAME'"
|
|
__GETSUDO
|
|
sudo make install \
|
|
&& __SUCCESS "succesfully installed '$NAME'" \
|
|
|| __FAIL 2 "failed to install '$NAME' (see above)"\
|
|
;
|
|
}
|
|
|
|
MAKEPKG() {
|
|
__STATUS "installing '$NAME'"
|
|
yes | makepkg -si \
|
|
&& __SUCCESS "succesfully installed '$NAME'" \
|
|
|| __FAIL 1 "failed to install '$NAME' (see above)"\
|
|
;
|
|
}
|
|
|
|
#####################################################################
|