summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Wagie2023-01-01 14:02:39 -0700
committerMark Wagie2023-01-01 14:02:39 -0700
commit9016dc59efd30ebf701367d026c0c17940752c68 (patch)
treedc48233fbd552083e636c696363e93339d1ff865
downloadaur-9016dc59efd30ebf701367d026c0c17940752c68.tar.gz
initial commit
-rw-r--r--.SRCINFO70
-rw-r--r--.gitignore7
-rwxr-xr-xPKGBUILD99
3 files changed, 176 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..59e4531c5f50
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,70 @@
+pkgbase = atoms
+ pkgdesc = Easily manage Linux Chroot(s) and Containers
+ pkgver = 1.1.0
+ pkgrel = 1
+ url = https://github.com/AtomsDevs/Atoms
+ arch = any
+ license = GPL3
+ checkdepends = appstream-glib
+ makedepends = git
+ makedepends = meson
+ makedepends = python-build
+ makedepends = python-installer
+ makedepends = python-setuptools
+ makedepends = python-wheel
+ depends = libadwaita
+ depends = podman
+ depends = proot-termux
+ depends = python-certifi
+ depends = python-chardet
+ depends = python-gobject
+ depends = python-idna
+ depends = python-orjson
+ depends = python-requests
+ depends = python-tabulate
+ depends = python-uproot
+ depends = python-urllib3
+ depends = vte4
+ source = git+https://github.com/AtomsDevs/Atoms.git#commit=36315140b2ce5667878173f61254a20d4b5b567b
+ source = git+https://github.com/AtomsDevs/atoms-cli.git
+ source = git+https://github.com/AtomsDevs/atoms-core.git
+ source = git+https://github.com/AtomsDevs/servicectl.git
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+
+pkgname = atoms
+ depends = atoms-cli
+ depends = libadwaita
+ depends = podman
+ depends = proot-termux
+ depends = python-certifi
+ depends = python-chardet
+ depends = python-gobject
+ depends = python-idna
+ depends = python-uproot
+ depends = python-urllib3
+ depends = servicectl-atoms
+ depends = vte4
+ optdepends = distrobox: List and handle Distrobox containers as atoms
+
+pkgname = atoms-cli
+ pkgdesc = Allows you to create and manage your atoms via the command line.
+ url = https://github.com/AtomsDevs/atoms-cli
+ depends = atoms-core
+ depends = python-tabulate
+
+pkgname = atoms-core
+ pkgdesc = Allows you to create and manage your own chroots and podman containers.
+ url = https://github.com/AtomsDevs/atoms-core
+ depends = python-orjson
+ depends = python-requests
+
+pkgname = servicectl-atoms
+ pkgdesc = Control services (daemons) for systemd in chroot environment (POSIX compliant fork)
+ url = https://github.com/AtomsDevs/servicectl
+ license = MIT
+ depends = systemd
+ provides = servicectl
+ conflicts = servicectl
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..4dab8d6386e3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+# Ignore everything
+*
+
+# But not these files...
+!.gitignore
+!PKGBUILD
+!.SRCINFO
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100755
index 000000000000..156df6212700
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,99 @@
+# Maintainer: Mark Wagie <mark dot wagie at tutanota dot com>
+pkgname=('atoms' 'atoms-cli' 'atoms-core' 'servicectl-atoms')
+pkgbase=atoms
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="Easily manage Linux Chroot(s) and Containers"
+arch=('any')
+url="https://github.com/AtomsDevs/Atoms"
+license=('GPL3')
+depends=('libadwaita' 'podman' 'proot-termux' 'python-certifi' 'python-chardet'
+ 'python-gobject' 'python-idna' 'python-orjson' 'python-requests'
+ 'python-tabulate' 'python-uproot' 'python-urllib3' 'vte4')
+makedepends=('git' 'meson' 'python-build' 'python-installer' 'python-setuptools'
+ 'python-wheel')
+checkdepends=('appstream-glib')
+_commit=36315140b2ce5667878173f61254a20d4b5b567b # tags/1.1.0^0
+source=("git+https://github.com/AtomsDevs/Atoms.git#commit=${_commit}"
+ 'git+https://github.com/AtomsDevs/atoms-cli.git'
+ 'git+https://github.com/AtomsDevs/atoms-core.git'
+ 'git+https://github.com/AtomsDevs/servicectl.git')
+sha256sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP')
+
+pkgver() {
+ cd "$srcdir/Atoms"
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd "$srcdir/Atoms"
+ git submodule init
+ git config submodule.atoms-cli.url "$srcdir/atoms-cli"
+ git config submodule.atoms-core.url "$srcdir/atoms-core"
+ git config submodule.servicectl.url "$srcdir/servicectl"
+ git -c protocol.file.allow=always submodule update
+}
+
+build() {
+ arch-meson Atoms build
+ meson compile -C build
+
+ cd "$srcdir/Atoms/$pkgbase-cli"
+ python -m build --wheel --no-isolation
+
+ cd "$srcdir/Atoms/$pkgbase-core"
+ python -m build --wheel --no-isolation
+}
+
+check() {
+ meson test -C build --print-errorlogs || :
+}
+
+package_atoms() {
+ depends=('atoms-cli' 'libadwaita' 'podman' 'proot-termux' 'python-certifi'
+ 'python-chardet' 'python-gobject' 'python-idna' 'python-uproot'
+ 'python-urllib3' 'servicectl-atoms' 'vte4')
+ optdepends=('distrobox: List and handle Distrobox containers as atoms')
+
+ meson install -C build --destdir "$pkgdir"
+}
+
+package_atoms-cli() {
+ pkgdesc="Allows you to create and manage your atoms via the command line."
+ url="https://github.com/AtomsDevs/atoms-cli"
+ depends=('atoms-core' 'python-tabulate')
+
+ cd "$srcdir/Atoms/$pkgbase-cli"
+ python -m installer --destdir="$pkgdir" dist/*.whl
+}
+
+package_atoms-core() {
+ pkgdesc="Allows you to create and manage your own chroots and podman containers."
+ url="https://github.com/AtomsDevs/atoms-core"
+ depends=('python-orjson' 'python-requests')
+
+ cd "$srcdir/Atoms/$pkgbase-core"
+ python -m installer --destdir="$pkgdir" dist/*.whl
+}
+
+package_servicectl-atoms() {
+ pkgdesc="Control services (daemons) for systemd in chroot environment (POSIX compliant fork)"
+ url="https://github.com/AtomsDevs/servicectl"
+ license=('MIT')
+ depends=('systemd')
+ provides=('servicectl')
+ conflicts=('servicectl')
+
+ cd "$srcdir/Atoms/servicectl"
+ install -d "$pkgdir/usr/lib/servicectl/enabled"
+ install -m755 servicectl -t "$pkgdir/usr/lib/servicectl/"
+ install -m755 serviced -t "$pkgdir/usr/lib/servicectl/"
+ install -Dm644 LICENSE.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
+
+ install -d "$pkgdir/usr/bin"
+ ln -s "/usr/lib/servicectl/servicectl" "${pkgdir}/usr/bin/"
+ ln -s "/usr/lib/servicectl/serviced" "${pkgdir}/usr/bin/"
+}