diff options
author | Mark Wagie | 2023-01-01 14:02:39 -0700 |
---|---|---|
committer | Mark Wagie | 2023-01-01 14:02:39 -0700 |
commit | 9016dc59efd30ebf701367d026c0c17940752c68 (patch) | |
tree | dc48233fbd552083e636c696363e93339d1ff865 | |
download | aur-9016dc59efd30ebf701367d026c0c17940752c68.tar.gz |
initial commit
-rw-r--r-- | .SRCINFO | 70 | ||||
-rw-r--r-- | .gitignore | 7 | ||||
-rwxr-xr-x | PKGBUILD | 99 |
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/" +} |