localsend

This commit is contained in:
Ryan Hughes committed 2026-05-08 01:04:51 -04:00
1 parent 1da6706ed8
commit f7b3dc68f5
7 files changed
+10

No files matched your search

-20
View File
@@ -1,20 +0,0 @@
pkgbase = localsend-bin
pkgdesc = An open source cross-platform alternative to AirDrop
pkgver = 1.17.0
pkgrel = 1
url = https://github.com/localsend/localsend
arch = x86_64
arch = aarch64
license = Apache-2.0
depends = fuse2
depends = xdg-user-dirs
depends = libayatana-appindicator
provides = localsend
conflicts = localsend
options = !debug
source_x86_64 = https://github.com/localsend/localsend/releases/download/v1.17.0/LocalSend-1.17.0-linux-x86-64.deb
sha256sums_x86_64 = b0244b2c3eacb2a81d61b2662534d6036ab37ace10d6782da36b630c222fa04c
source_aarch64 = https://github.com/localsend/localsend/releases/download/v1.17.0/LocalSend-1.17.0-linux-arm-64.deb
sha256sums_aarch64 = c2c792aadabeecf864f4105f8b1f8693941bc752fda582f0d2b3794765fcf803
pkgname = localsend-bin
-65
View File
@@ -1,65 +0,0 @@
# Maintainer: NourEddineX
# Contributor: Nixuge
# Contributor: Noah Vogt <noah@noahvogt.com>
# Contributor: SpieringsAE (aarch64 addition)
# Note:
# using the .deb instead of the .tar.gz as it already contains the icons as well as the .desktop file.
pkgname=localsend-bin
pkgver=1.17.0
pkgrel=1
pkgdesc='An open source cross-platform alternative to AirDrop'
url=https://github.com/localsend/localsend
arch=('x86_64' 'aarch64')
license=(Apache-2.0)
depends=(fuse2 xdg-user-dirs libayatana-appindicator)
conflicts=('localsend')
provides=('localsend')
options=(!debug)
source_x86_64=("${url}/releases/download/v${pkgver}/LocalSend-${pkgver}-linux-x86-64.deb")
source_aarch64=("${url}/releases/download/v${pkgver}/LocalSend-${pkgver}-linux-arm-64.deb")
sha256sums_x86_64=('b0244b2c3eacb2a81d61b2662534d6036ab37ace10d6782da36b630c222fa04c')
sha256sums_aarch64=('c2c792aadabeecf864f4105f8b1f8693941bc752fda582f0d2b3794765fcf803')
_pkgdesktop="localsend_app.desktop"
prepare() {
tar -xf data.tar.xz
}
build() {
sed -i -E \
"s|Exec=localsend_app|Exec=localsend|" \
"${srcdir}/usr/share/applications/${_pkgdesktop}"
# Adjust .desktop to have it point to the correct icon
sed -i -E 's/^Icon=.+/Icon=localsend/' "${srcdir}/usr/share/applications/${_pkgdesktop}"
}
package() {
# Desktop
install -Dm644 "${srcdir}/usr/share/applications/${_pkgdesktop}" "${pkgdir}/usr/share/applications/${pkgname%-*}.desktop"
# Icons
install -dm644 "${pkgdir}/usr/share/icons/"
cp -a "${srcdir}/usr/share/icons" "${pkgdir}/usr/share"
# Dirty - rename icons to localsend
for res in "128x128" "256x256"; do
mv "${pkgdir}/usr/share/icons/hicolor/${res}/apps/localsend_app.png" "${pkgdir}/usr/share/icons/hicolor/${res}/apps/localsend.png"
done
# Executable
install -dm755 "${pkgdir}/opt/${pkgname%-*}/"
cp -a "${srcdir}/usr/share/localsend_app/." "${pkgdir}/opt/${pkgname%-*}"
# Same as icons - rename to localsend
mv "${pkgdir}/opt/${pkgname%-*}/localsend_app" "${pkgdir}/opt/${pkgname%-*}/localsend"
# Symlink executable
install -dm755 "${pkgdir}/usr/bin"
ln -s \
"/opt/${pkgname%-*}/${pkgname%-*}" \
"${pkgdir}/usr/bin/${pkgname%-*}"
}
-23
View File
@@ -1,23 +0,0 @@
pkgbase = localsend
pkgdesc = An open source cross-platform alternative to AirDrop
pkgver = 1.17.0
pkgrel = 3
url = https://github.com/localsend/localsend
arch = x86_64
arch = aarch64
license = Apache-2.0
makedepends = clang
makedepends = cmake
makedepends = fvm
makedepends = git
makedepends = lld
makedepends = llvm
makedepends = ninja
makedepends = patchelf
makedepends = rustup
depends = libayatana-appindicator
options = !lto
source = localsend-1.17.0.tar.gz::https://github.com/localsend/localsend/archive/refs/tags/v1.17.0.tar.gz
sha256sums = 921c5843947580ae1b64d0d3a6edeefb9e07e8a917d0830af6a47d42e40de264
pkgname = localsend
-4
View File
@@ -1,4 +0,0 @@
*
!PKGBUILD
!.SRCINFO
!.gitignore
-99
View File
@@ -1,99 +0,0 @@
# Maintainer:
# Contributor: Patrick Northon <northon_patrick3@yahoo.ca>
: ${_install_path:=usr/lib}
_pkgname="localsend"
pkgname="$_pkgname"
pkgver=1.17.0
pkgrel=3
pkgdesc="An open source cross-platform alternative to AirDrop"
url="https://github.com/localsend/localsend"
license=('Apache-2.0')
arch=('x86_64' 'aarch64')
depends=(
'libayatana-appindicator'
)
makedepends=(
'clang'
'cmake'
'fvm'
'git'
'lld'
'llvm'
'ninja'
'patchelf'
'rustup'
)
options=('!lto')
_pkgsrc="$_pkgname-$pkgver"
_pkgext="tar.gz"
source=("$_pkgsrc.$_pkgext"::"$url/archive/refs/tags/v$pkgver.$_pkgext")
sha256sums=('921c5843947580ae1b64d0d3a6edeefb9e07e8a917d0830af6a47d42e40de264')
prepare() {
sed -E 's&^(channel) = .*$&\1 = "stable"&' -i "$_pkgsrc/app/rust-toolchain.toml"
}
build() (
export FVM_CACHE_PATH="$SRCDEST/fvm-cache"
export CXXFLAGS+=' -Wno-error=deprecated-declarations'
cd "$_pkgsrc/app"
fvm install
fvm flutter --disable-analytics
#fvm flutter pub upgrade --major-versions
fvm flutter --no-version-check pub get
fvm flutter build linux --no-pub --release
)
package() {
local _arch="x64"
if [[ "${CARCH::1}" == "a" ]]; then
_arch="arm64"
fi
cd "$_pkgsrc/app/build/linux/$_arch/release/bundle"
# files
install -Dm755 "localsend_app" "$pkgdir/$_install_path/$_pkgname/$_pkgname"
cp --reflink=auto -r lib/ "$pkgdir/$_install_path/$_pkgname/"
cp --reflink=auto -r data/ "$pkgdir/$_install_path/$_pkgname/"
# runpath
patchelf --set-rpath '$ORIGIN/lib' "$pkgdir/$_install_path/$_pkgname/$_pkgname"
for i in "$pkgdir/$_install_path/$_pkgname/lib"/*.so; do
[ -z "$(patchelf --print-rpath "$i")" ] && continue
patchelf --set-rpath '$ORIGIN' "$i"
done
# symlink
install -dm755 "${pkgdir}/usr/bin"
ln -sfr "$pkgdir/$_install_path/$_pkgname/$_pkgname" "$pkgdir/usr/bin/${_pkgname}"
# icon
install -Dm644 "$srcdir/$_pkgsrc/app/build/flutter_assets/assets/img/logo-512.png" "$pkgdir/usr/share/pixmaps/$_pkgname.png"
# launcher
install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/$_pkgname.desktop" << END
[Desktop Entry]
Type=Application
Name=LocalSend
Comment=$pkgdesc
Exec=$_pkgname
Icon=$_pkgname
Terminal=false
Categories=Utility;Network;
END
# license
install -Dm644 "$srcdir/$_pkgsrc/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname/"
# permissions
chmod -R u+rwX,go+rX,go-w "$pkgdir/"
}