diff options
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 41 | ||||
-rw-r--r-- | loopy-desktop.sh | 21 |
3 files changed, 44 insertions, 30 deletions
@@ -1,7 +1,7 @@ pkgbase = loopy-desktop pkgdesc = A tool for thinking in systems pkgver = 1.2.1 - pkgrel = 6 + pkgrel = 7 url = https://github.com/jchu634/loopy-desktop arch = any license = MIT @@ -9,12 +9,12 @@ pkgbase = loopy-desktop makedepends = yarn makedepends = npm makedepends = nodejs - makedepends = git - depends = electron21-bin + makedepends = curl + depends = electron21 conflicts = loopy-desktop - source = loopy-desktop.git::git+https://github.com/jchu634/loopy-desktop.git#tag=v1.2.1 + source = loopy-desktop-1.2.1.tar.gz::https://github.com/jchu634/loopy-desktop/archive/refs/tags/v1.2.1.tar.gz source = loopy-desktop.sh - sha256sums = SKIP - sha256sums = dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8 + sha256sums = 964320fde15be102235feac8e2e1bab115e8fcfe8245645d5411dac114446f27 + sha256sums = 41b6d61dffef064762b3eec3dfeca7a3e1f57cbcb6dce9a6940c06797a0eae9d pkgname = loopy-desktop @@ -2,59 +2,60 @@ pkgname=loopy-desktop pkgver=1.2.1 _electronversion=21 -pkgrel=6 +pkgrel=7 pkgdesc="A tool for thinking in systems" arch=('any') url="https://github.com/jchu634/loopy-desktop" license=('MIT') conflicts=("${pkgname}") depends=( - "electron${_electronversion}-bin" + "electron${_electronversion}" ) makedepends=( 'gendesk' 'yarn' 'npm' 'nodejs' - 'git' + 'curl' ) source=( - "${pkgname}.git::git+${url}.git#tag=v${pkgver}" + "${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz" "${pkgname}.sh" ) -sha256sums=('SKIP' - 'dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8') +sha256sums=('964320fde15be102235feac8e2e1bab115e8fcfe8245645d5411dac114446f27' + '41b6d61dffef064762b3eec3dfeca7a3e1f57cbcb6dce9a6940c06797a0eae9d') build() { sed -e "s|@electronversion@|${_electronversion}|" \ -e "s|@appname@|${pkgname}|g" \ -e "s|@runname@|app.asar|g" \ + -e "s|@cfgdirname@|${pkgname}|g" \ -e "s|@options@||g" \ -i "${srcdir}/${pkgname}.sh" - gendesk -f -n -q --categories="Utility" --name="${pkgname}" --exec="${pkgname} %U" - cd "${srcdir}/${pkgname}.git" + gendesk -f -n -q --pkgname="${pkgname}" --categories="Utility" --name="${pkgname}" --exec="${pkgname} %U" + cd "${srcdir}/${pkgname}-${pkgver}" export npm_config_build_from_source=true export ELECTRON_SKIP_BINARY_DOWNLOAD=1 - export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')" - export npm_config_target="${SYSTEM_ELECTRON_VERSION}" - export ELECTRONVERSION="${_electronversion}" - export npm_config_disturl=https://electronjs.org/headers + #export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')" + #export npm_config_target="${SYSTEM_ELECTRON_VERSION}" + #export ELECTRONVERSION="${_electronversion}" HOME="${srcdir}/.electron-gyp" mkdir -p "${srcdir}/.electron-gyp" touch "${srcdir}/.electron-gyp/.yarnrc" - if [ `curl ifconfig.co/country` = "China" ];then - echo 'registry="https://registry.npmmirror.com/"' >> .npmrc - echo 'electron_mirror="https://registry.npmmirror.com/-/binary/electron/"' >> .npmrc - echo 'electron_builder_binaries_mirror="https://registry.npmmirror.com/-/binary/electron-builder-binaries/"' >> .npmrc + if [ `curl -s ipinfo.io/country | grep CN | wc -l ` -ge 1 ];then + export npm_config_registry=https://registry.npmmirror.com + export npm_config_disturl=https://registry.npmmirror.com/-/binary/node/ + export npm_config_electron_mirror=https://registry.npmmirror.com/-/binary/electron/ + export npm_config_electron_builder_binaries_mirror=https://registry.npmmirror.com/-/binary/electron-builder-binaries/ else echo "Your network is OK." fi yarn install --cache-folder "${srcdir}/.yarn_cache" - npx electron-builder build --dir + yarn run pack } package() { install -Dm755 "${srcdir}/${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}" - install -Dm644 "${srcdir}/${pkgname}.git/release/linux-"*/resources/app.asar -t "${pkgdir}/usr/lib/${pkgname}" - install -Dm644 "${srcdir}/${pkgname}.git/resources/_icons/icon.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png" + install -Dm644 "${srcdir}/${pkgname}-${pkgver}/release/linux-"*/resources/app.asar -t "${pkgdir}/usr/lib/${pkgname}" + install -Dm644 "${srcdir}/${pkgname}-${pkgver}/resources/_icons/icon.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png" install -Dm644 "${srcdir}/${pkgname}.desktop" -t "${pkgdir}/usr/share/applications" - install -Dm644 "${srcdir}/${pkgname}.git/LICENSE.txt" -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -Dm644 "${srcdir}/${pkgname}-${pkgver}/LICENSE.txt" -t "${pkgdir}/usr/share/licenses/${pkgname}" }
\ No newline at end of file diff --git a/loopy-desktop.sh b/loopy-desktop.sh index 7ddcaab8d734..398398461fee 100644 --- a/loopy-desktop.sh +++ b/loopy-desktop.sh @@ -1,16 +1,29 @@ #!/bin/bash -set -e +set -o pipefail _APPDIR="/usr/lib/@appname@" _RUNNAME="${_APPDIR}/@runname@" +_CFGDIR="@cfgdirname@/" _OPTIONS="@options@" export PATH="${_APPDIR}:${PATH}" export LD_LIBRARY_PATH="${_APPDIR}/swiftshader:${_APPDIR}/lib:${LD_LIBRARY_PATH}" export ELECTRON_IS_DEV=0 export ELECTRON_FORCE_IS_PACKAGED=true +export ELECTRON_DISABLE_SECURITY_WARNINGS=true +export ELECTRON_OVERRIDE_DIST_PATH="/usr/bin/electron@electronversion@" export NODE_ENV=production +export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" +export _FLAGS_FILE="${XDG_CONFIG_HOME}/${_CFGDIR}@appname@-flags.conf" +declare -a _USER_FLAGS +if [[ -f "${_FLAGS_FILE}" ]]; then + while read -r line; do + if [[ ! "${line}" =~ ^[[:space:]]*#.* ]]; then + _USER_FLAGS+=("${line}") + fi + done < "${_FLAGS_FILE}" +fi cd "${_APPDIR}" -if [[ $EUID -ne 0 ]] || [[ $ELECTRON_RUN_AS_NODE ]]; then - exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" "$@" || exit $? +if [[ "${EUID}" -ne 0 ]] || [[ "${ELECTRON_RUN_AS_NODE}" ]]; then + exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" "${_USER_FLAGS[@]}" "$@" else - exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" --no-sandbox "$@" || exit $? + exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" --no-sandbox "${_USER_FLAGS[@]}" "$@" fi
\ No newline at end of file |