add: ente ensu (#13110)

This commit is contained in:
madomado
2026-06-25 07:20:31 +08:00
committed by GitHub
parent 9bb69acb5e
commit 0068efdca3
7 changed files with 172 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "golang-github-ente-io-cli.spec"
}
}
@@ -0,0 +1,75 @@
# Generated by go2rpm 1.19.0
%bcond check 0
%bcond bootstrap 0
%if %{with bootstrap}
%global debug_package %{nil}
%endif
%if %{with bootstrap}
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^golang\\(.*\\)$
%endif
# https://github.com/ente-io/ente
%global goipath github.com/ente-io/ente/cli
%global tag cli-v0.2.3
Version: %(echo %tag | sed 's/^cli-v//')
%gometa -f
%global common_description %{expand:
The Ente CLI is a Command Line Utility for exporting data from Ente. It also does a few more things, for example, you can use it to decrypt the export from Ente Auth.}
%global golicenses LICENSE
%global godocs CODE_OF_CONDUCT.md CONTRIBUTING.md cli/README.md SECURITY.md SUPPORT.md
Name: ente
Release: 1%?dist
Summary: 💚 End-to-end encrypted cloud for everything
Packager: madonuko <mado@fyralabs.com>
License: AGPL-3.0-only
URL: ente.com
Source: %{gosource}
%description %{common_description}
%gopkg
%prep
%goprep -A
%autopatch -p1
%if %{without bootstrap}
%build
%global gomodulesmode GO111MODULE=on
cd cli
%gobuild -o %{gobuilddir}/bin/ente .
%endif
%install
cd cli
%gopkginstall
%if %{without bootstrap}
install -m 0755 -vd %{buildroot}%{_bindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
%endif
%if %{without bootstrap}
%if %{with check}
%check
%gocheck
%endif
%endif
%if %{without bootstrap}
%files
%license LICENSE
%doc CODE_OF_CONDUCT.md CONTRIBUTING.md README.md SECURITY.md SUPPORT.md cli/README.md
%{_bindir}/ente
%endif
%gopkgfiles
%changelog
* Tue Jun 16 2026 madonuko <mado@fyralabs.com> - 0.2.3-1
- Initial package.
+10
View File
@@ -0,0 +1,10 @@
let tagobjs = get("https://api.github.com/repos/ente-io/ente/tags").json_arr();
for tagobj in tagobjs {
if tagobj.name.starts_with("cli-v") {
rpm.global("tag", tagobj.name);
if rpm.changed() {
rpm.release();
break;
}
}
}
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "ensu.spec"
}
}
+9
View File
@@ -0,0 +1,9 @@
[Desktop Entry]
Name=Ensu
Comment=Ensu Desktop App
Exec=Ensu
Icon=io.ente.ensu
Terminal=false
Type=Application
Categories=Utility;
StartupNotify=true
+58
View File
@@ -0,0 +1,58 @@
%global tag ensu-v0.1.17
%global appid io.ente.ensu
%global developer "Ente"
%global org "io.ente"
%global appstream_component desktop-application
# the original version of %%_package_note_flags expects cc/gcc to parse the ld flags,
# but for wasm the `lld -flavor wasm` linker is called directly
%dnl --package-metadata={\\"type\\":\\"rpm\\",\\"name\\":\\"%name\\",\\"version\\":\\"%version-%release\\",\\"architecture\\":\\"$RPM_ARCH\\",\\"osCpe\\":\\"cpe:/o:fedoraproject:fedora:%fedora\\"}
%define _package_note_flags %nil
%undefine _package_note_status
%define terra_rustflags %build_rustflags
%bcond_with mold
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
%global _distro_extra_cxxflags -fno-permissive
Name: ensu
Version: %(echo %tag | sed 's/^ensu-v//')
Release: 1%?dist
Summary: Private, personal LLM app that runs on your device and grows with you over time
License: AGPL-3.0-only
URL: https://ente.com/ensu
Source0: https://github.com/ente-io/ente/archive/refs/tags/%tag.tar.gz
Source1: ensu.desktop
Packager: madonuko <mado@fyralabs.com>
BuildRequires: cmake %tauri_buildrequires
BuildRequires: rust-std-static-wasm32-unknown-unknown
BuildRequires: clang-devel
%description
%summary.
%prep
%autosetup -n ente-%tag
pushd web
npm ci
popd
cd rust/apps/ensu
%tauri_prep
%build
cd rust/apps/ensu
%npm_build -Bc
%install
install -Dpm755 rust/target/rpm/Ensu -t %buildroot%_bindir
%desktop_file_install %{S:1}
install -Dpm644 rust/apps/ensu/src-tauri/icons/icon.png %buildroot%_hicolordir/1024x1024/apps/ensu.png
%terra_appstream
%files
%doc README.md CONTRIBUTING.md CODE_OF_CONDUCT.md SECURITY.md SUPPORT.md
%license LICENSE
%_bindir/Ensu
%_appsdir/ensu.desktop
%_hicolordir/*/apps/ensu.png
%_metainfodir/%appid.metainfo.xml
+10
View File
@@ -0,0 +1,10 @@
let tagobjs = get("https://api.github.com/repos/ente-io/ente/tags").json_arr();
for tagobj in tagobjs {
if tagobj.name.starts_with("ensu-v") {
rpm.global("tag", tagobj.name);
if rpm.changed() {
rpm.release();
break;
}
}
}