diff options
-rw-r--r-- | .SRCINFO | 23 | ||||
-rw-r--r-- | PKGBUILD | 77 | ||||
-rw-r--r-- | scriptorium.sh | 16 |
3 files changed, 116 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..d2118e9dc541 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,23 @@ +pkgbase = scriptorium-git + pkgdesc = Create custom tests for any subject you wish. + pkgver = release.r1.g11b4c2d + pkgrel = 1 + url = https://github.com/Toriality/scriptorium + arch = any + license = LicenseRef-unknown + makedepends = npm + makedepends = yarn + makedepends = git + makedepends = nvm + makedepends = gendesk + makedepends = gcc + makedepends = base-devel + depends = electron29 + provides = scriptorium=release + conflicts = scriptorium + source = scriptorium.git::git+https://github.com/Toriality/scriptorium.git + source = scriptorium.sh + sha256sums = SKIP + sha256sums = dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8 + +pkgname = scriptorium-git diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..92d274a6b4b1 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,77 @@ +# Maintainer: zxp19821005 <zxp19821005 at 163 dot com> +pkgname=scriptorium-git +_pkgname=Scriptorium +pkgver=release.r1.g11b4c2d +_electronversion=29 +_nodeversion=18 +pkgrel=1 +pkgdesc="Create custom tests for any subject you wish." +arch=('any') +url="https://github.com/Toriality/scriptorium" +license=('LicenseRef-unknown') +conflicts=("${pkgname%-git}") +provides=("${pkgname%-git}=${pkgver%.r*}") +depends=( + "electron${_electronversion}" +) +makedepends=( + 'npm' + 'yarn' + 'git' + 'nvm' + 'gendesk' + 'gcc' + 'base-devel' +) +source=( + "${pkgname//-/.}::git+${url}.git" + "${pkgname%-git}.sh") +sha256sums=('SKIP' + 'dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8') +pkgver() { + cd "${srcdir}/${pkgname//-/.}" + git describe --long --tags | sed -E 's/^v//;s/([^-]*-g)/r\1/;s/-/./g' +} +_ensure_local_nvm() { + export NVM_DIR="${srcdir}/.nvm" + source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]] + nvm install "${_nodeversion}" + nvm use "${_nodeversion}" +} +build() { + sed -e "s|@electronversion@|${_electronversion}|" \ + -e "s|@appname@|${pkgname%-git}|g" \ + -e "s|@runname@|app.asar|g" \ + -e "s|@options@|env ELECTRON_OZONE_PLATFORM_HINT=auto|g" \ + -i "${srcdir}/${pkgname%-git}.sh" + _ensure_local_nvm + gendesk -q -f -n --categories="Development" --name="${_pkgname}" --exec="${pkgname%-git} %U" + cd "${srcdir}/${pkgname//-/.}" + export npm_config_build_from_source=true + export npm_config_cache="${srcdir}/.npm_cache" + 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 + HOME="${srcdir}/.electron-gyp" + if [ `curl -s ipinfo.io/country | grep CN | wc -l ` -ge 1 ];then + export npm_config_registry=https://registry.npmmirror.com + 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 + rm -rf dist dist-electron release + sed "s|AppImage|dir|g;s|\/\${version}||g" -i electron-builder.json5 + sed "s|pt-br.json|pt-BR.json|g" -i src/lib/i18n.ts + npm install + npm run build +} +package() { + install -Dm755 "${srcdir}/${pkgname%-git}.sh" "${pkgdir}/usr/bin/${pkgname%-git}" + install -Dm644 "${srcdir}/${pkgname//-/.}/release/linux-"*/resources/app.asar -t "${pkgdir}/usr/lib/${pkgname%-git}" + install -Dm644 "${srcdir}/${pkgname//-/.}/public/electron-vite.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/${pkgname%-git}.svg" + install -Dm644 "${srcdir}/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications" + install -Dm644 "${srcdir}/${pkgname//-/.}/release/linux-"*/LICENSE* -t "${pkgdir}/usr/share/licenses/${pkgname}" +}
\ No newline at end of file diff --git a/scriptorium.sh b/scriptorium.sh new file mode 100644 index 000000000000..7ddcaab8d734 --- /dev/null +++ b/scriptorium.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -e +_APPDIR="/usr/lib/@appname@" +_RUNNAME="${_APPDIR}/@runname@" +_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 NODE_ENV=production +cd "${_APPDIR}" +if [[ $EUID -ne 0 ]] || [[ $ELECTRON_RUN_AS_NODE ]]; then + exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" "$@" || exit $? +else + exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" --no-sandbox "$@" || exit $? +fi
\ No newline at end of file |