summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD85
1 files changed, 85 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..a0908ad9a262
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,85 @@
+# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
+pkgname=md-tauri-git
+_pkgname='MD-Tauri'
+pkgver=r775.e0f005b
+_nodeversion=23
+pkgrel=1
+pkgdesc="A modern Markdown editor built with Tauri and Vue 3, providing a seamless desktop experience for Markdown editing and preview."
+arch=('any')
+url="https://github.com/CrazyMrYan/md-tauri"
+license=('MIT')
+provides=("${pkgname%-git}=${pkgver%.r*}")
+conflicts=("${pkgname%-git}")
+depends=(
+ 'gtk3'
+ 'gdk-pixbuf2'
+ 'webkit2gtk'
+ 'libsoup'
+)
+makedepends=(
+ 'nvm'
+ 'git'
+ 'curl'
+ 'rust'
+ 'npm'
+ 'yarn'
+)
+source=(
+ "${pkgname%-git}.git::git+${url}.git"
+)
+sha256sums=('SKIP')
+pkgver() {
+ cd "${srcdir}/${pkgname%-git}.git"
+ set -o pipefail
+ git describe --long --abbrev=7 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//' ||
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
+}
+_ensure_local_nvm() {
+ local NVM_DIR="${srcdir}/.nvm"
+ source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
+ nvm install "${_nodeversion}"
+ nvm use "${_nodeversion}"
+}
+prepare() {
+ _ensure_local_nvm
+ cd "${srcdir}/${pkgname%-git}.git"
+ export CARGO_HOME="${srcdir}/.cargo"
+ HOME="${srcdir}/.electron-gyp"
+ if [[ "$(curl -s ipinfo.io/country)" == *"CN"* ]]; then
+ {
+ echo -e '\n'
+ echo 'registry "https://registry.npmmirror.com"'
+ echo "cacheFolder "${srcdir}"/.yarn/cache"
+ echo "pluginsFolder "${srcdir}"/.yarn/plugins"
+ echo "globalFolder "${srcdir}"/.yarn/global"
+ echo 'useHardlinks true'
+ echo 'linkWorkspacePackages true'
+ echo 'fetchRetries 3'
+ echo 'fetchRetryTimeout 10000'
+ } >> .yarnrc
+ find ./ -type f -name "yarn.lock" -exec sed -i "s/registry.yarnpkg.com/registry.npmmirror.com/g;s/registry.npmjs.org/registry.npmmirror.com/g" {} +
+ export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
+ export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
+ fi
+ NODE_ENV=development yarn install --cache-folder "${srcdir}/.yarn_cache"
+}
+build() {
+ cd "${srcdir}/${pkgname%-git}.git"
+ sed -i "s/, \"app\", \"dmg\", \"msi\"//g" src-tauri/tauri.conf.json
+ NODE_ENV=production yarn run tauri:build
+}
+package() {
+ install -Dm755 "${srcdir}/${pkgname%-git}.git/src-tauri/target/release/bundle/deb/${pkgname%-git}_"*/data/usr/bin/"${pkgname%-git}" \
+ -t "${pkgdir}/usr/bin"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/src-tauri/target/release/bundle/deb/${pkgname%-git}_"*/data/usr/share/applications/"${pkgname%-git}.desktop" \
+ -t "${pkgdir}/usr/share/applications"
+ sed -i -e "
+ s/Development/Utility/g;
+ s/Name=${pkgname%-git}/Name=${_pkgname}/g;
+ " "${pkgdir}/usr/share/applications"
+ for _icons in 32x32 128x128 256x256@2;do
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/src-tauri/target/release/bundle/deb/${pkgname%-git}_"*/data/usr/share/icons/hicolor/"${_icons}/apps/${pkgname%-git}.png" \
+ -t "${pkgdir}/usr/share/icons/hicolor/${_icons}/apps"
+ done
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/package.json" -t "${pkgdir}/usr/share/licenses/${pkgname}"
+} \ No newline at end of file