A collection of PKGBUILDs for packages I maintain in the Arch User Repository (AUR).
This repository contains build scripts and configuration files for 20+ packages in the AUR, including development tools, Python libraries, games, and system utilities. Each package is organized as a git submodule linked to its corresponding AUR repository, enabling streamlined maintenance and automated workflows.
- Development Tools:
htmlhint,micromamba,rapidyaml,arduino-avr-core - Python Libraries:
python-conda,python-libmamba,python-abydos,python-hunspell, and more - System Utilities:
netclient,nmctl,rot8-git,gnome-shell-extension-panel-osd - Games:
openmohaa,openmohaa-git - Applications:
alist,outwiker,proton-pass-bin,stable-diffusion-cpp-vulkan-git
- Automated Build System: Docker-based builds for consistent packaging
- Submodule Management: Synchronized git submodules for each AUR package
- Makefile Automation: Simple commands for common maintenance tasks
- Batch Operations: Clone, build, and update multiple packages at once
- GitHub Actions: Automated git package updates with AUR integration
This repository provides a Makefile to automate common package maintenance tasks. Below are the most useful commands:
Clone and sync a single package from its submodule:
make clone PKG=<package-name>
# Example:
make clone PKG=alistAdd CLEAN=true to remove any temporary directories:
make clone PKG=alist CLEAN=trueClone and sync all packages:
make clone-all
# Or with cleanup:
make clone-all CLEAN=trueBuild and run a package in Docker (if a Dockerfile is present):
make aur-build PKG=<package-name>
# Example:
make aur-build PKG=alistInitialize all submodules:
make init-submodulesUpdate all submodules to the latest commit:
make update-aur-reposClean up temporary files and directories:
make cleanShow all available commands:
make help- Linux, macOS, or WSL
- Git with submodule support
- Docker (for containerized builds)
- SSH access to AUR (for maintainers)
aur-pkgbuilds/
├── Makefile # Main automation commands
├── scripts/ # Helper scripts
│ ├── repo_urls.txt # AUR repository URLs
│ ├── clone.sh # Package cloning script
│ └── aur-build.sh # Docker build script
├── <package-name>/ # Local package files
│ ├── PKGBUILD # Build script
│ ├── Dockerfile # Docker build config (if applicable)
│ └── <package-name>-aur/ # AUR submodule
└── README.md
You can also call the scripts in scripts/ directly for advanced usage:
# Clone a specific package
./scripts/clone.sh <package-name>
# Build in Docker
./scripts/aur-build.sh <package-name>
# Update all AUR repositories
./scripts/pull_all_repos.sh
# Test git package updates locally
./scripts/test-git-update.sh <package-name>
# Setup AUR SSH keys for GitHub Actions
./scripts/setup-aur-ssh.shSee the Makefile or run make help for more details.
This repository includes automated workflows for maintaining packages:
The update-git-packages.yml workflow automatically:
- Builds git packages in Docker containers
- Updates PKGBUILD and .SRCINFO files with latest versions
- Commits changes to this repository
- Pushes updates to AUR (if configured)
The update-github-packages.yml workflow automatically:
- Checks for new versions of GitHub-hosted packages using
aurvt - Only builds packages when new versions are detected
- Updates PKGBUILD and .SRCINFO files with latest versions
- Commits changes to this repository
- Pushes updates to AUR (if configured)
Setup:
- Run
./scripts/setup-aur-ssh.shto generate SSH keys - Add the public key to your AUR account
- Add
AUR_USERNAMEandAUR_SSH_PRIVATE_KEYsecrets to GitHub - Git packages workflow runs daily at 2 AM UTC
- GitHub packages workflow runs daily at 3 AM UTC
Manual Execution:
- Go to Actions tab → "Update Git Packages" or "Update GitHub Packages" → "Run workflow"
- Optionally specify a single package name
For detailed setup instructions, see .github/workflows/README.md.
This repository is primarily for personal package maintenance, but contributions are welcome:
- Fork the repository
- Create a feature branch
- Submit a pull request with your changes
For new package suggestions, please open an issue first.
The build scripts and configuration files in this repository are provided as-is for educational and maintenance purposes. Individual packages maintain their original licenses as specified in their respective PKGBUILDs.