Estou escrevendo um PKGBUILD para meetalva.io para que eu possa enviá-lo ao AUR - para que outros possam instalá-lo yaourt
.
O binário Alva
possui duas dependências da biblioteca libnode.so
e libffmpeg.so
, que eu preciso incluir caso contrário, recebo alva: error while loading shared libraries: libnode.so: cannot open shared object file: No such file or directory
.
Não posso simplesmente copiar esses dois .so
arquivos /usr/bin
, então qual é a melhor prática aqui? Sinto que desejo copiar o binário e os .so
arquivos para /usr/lib
criar um link simbólico /usr/lib/alva-git/Alva
-> /usr/bin/Alva
mas não estou conseguindo fazer o link simbólico funcionar.
Desde já, obrigado.
PKGBUILD
:
_pkgname="alva"
pkgname="${_pkgname}-git"
pkgver=v0.8.0
pkgrel=1
pkgdesc="Create living prototypes with code components."
arch=("i686" "x86_64")
url="https://meetalva.io"
license=('MIT')
groups=()
depends=(gconf libxss nss gtk3)
makedepends=(git npm nodejs)
optdepends=()
provides=(alva)
conflicts=(alva)
replaces=()
backup=()
options=()
install=
changelog=
source=("${pkgname}::git+http://github.com/meetalva/${_pkgname}.git")
noextract=()
md5sums=(SKIP)
# https://wiki.archlinux.org/index.php/VCS_package_guidelines
pkgver() {
cd "$srcdir/$pkgname"
# Use latest tag
git tags|tail -n 1
}
build() {
cd "$pkgname"
last_tag=$( git tags|tail -n 1 )
git checkout $last_tag
npm install
npm run build
npm run build:electron || true
}
package() {
cd "$pkgname" # enter git repo
install -D -m 644 LICENSE "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
mkdir -p "${pkgdir}/usr/bin/"
cp -f dist/linux-unpacked/Alva "${pkgdir}/usr/bin/alva"
}