diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a2ba4c5..8cfbb6f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,3 +92,12 @@ jobs: uses: pypa/gh-action-pypi-publish@release/v1 with: print_hash: true + + makepkg: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Makepkg Build and Check + uses: edlanglois/pkgbuild-action@v1 diff --git a/.gitignore b/.gitignore index ad4a1f1..4f0700f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,20 @@ -# Created by https://www.toptal.com/developers/gitignore/api/python -# Edit at https://www.toptal.com/developers/gitignore?templates=python +# Created by https://www.toptal.com/developers/gitignore/api/archlinuxpackages,python +# Edit at https://www.toptal.com/developers/gitignore?templates=archlinuxpackages,python + +### ArchLinuxPackages ### +*.tar +*.tar.* +*.jar +*.exe +*.msi +*.zip +*.tgz +*.log +*.log.* +*.sig + +pkg/ +src/ ### Python ### # Byte-compiled / optimized / DLL files @@ -60,7 +75,6 @@ cover/ *.pot # Django stuff: -*.log local_settings.py db.sqlite3 db.sqlite3-journal @@ -173,4 +187,4 @@ poetry.toml # LSP config files pyrightconfig.json -# End of https://www.toptal.com/developers/gitignore/api/python +# End of https://www.toptal.com/developers/gitignore/api/archlinuxpackages,python diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..7b0610f --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Jake Howard +pkgname=heroku-audit +pkgver=0.0.2 +pkgrel=1 +pkgdesc="Command-line tool for reporting on specific attributes of a Heroku environment." +url="https://github.com/torchbox/heroku-audit" +license=('BSD') +arch=('x86_64') +depends=(zlib readline xz openssl glibc expat bzip2 libffi util-linux-libs ncurses mpdecimal) +source=("https://github.com/torchbox/heroku-audit/archive/${pkgver}.tar.gz") +makedepends=(python-build python-wheel) +sha256sums=('0c539746c4b5dfb1ff8504e1a96394c3456666c866e0f0c1f7f54ef6f1242279') + +build() { + cd "${srcdir}"/${pkgname}-${pkgver} + + # Create a temporary virtualenv to install the build dependencies in + python -m venv venv + source venv/bin/activate + + pip install -e . pyinstaller + + venv/bin/pyinstaller -D --strip heroku_audit/__main__.py --name heroku-audit --clean --noconfirm +} + +check() { + cd "${srcdir}"/${pkgname}-${pkgver} + + ./dist/heroku-audit/heroku-audit --version > /dev/null + ./dist/heroku-audit/heroku-audit --list > /dev/null +} + +package() { + cd "${srcdir}"/${pkgname}-${pkgver} + + mkdir -p "${pkgdir}"/opt + cp -r dist/heroku-audit "${pkgdir}"/opt/heroku-audit + + mkdir -p "${pkgdir}"/usr/bin/ + ln -s /opt/heroku-audit/heroku-audit "${pkgdir}"/usr/bin/ + + install -Dm644 README.md "${pkgdir}"/usr/share/doc/${pkgname}/README.md + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +}