mirror of
https://github.com/kbumsik/VirtScreen.git
synced 2025-02-12 11:21:53 +00:00
105 lines
2.9 KiB
Makefile
105 lines
2.9 KiB
Makefile
# See https://packaging.python.org/tutorials/distributing-packages/#packaging-your-project
|
|
# for python packaging reference.
|
|
VERSION ?= 0.2.4
|
|
|
|
DOCKER_NAME=kbumsik/virtscreen
|
|
DOCKER_RUN=docker run --interactive --tty -v $(shell pwd):/app $(DOCKER_NAME)
|
|
DOCKER_RUN_TTY=docker run --interactive --tty -v $(shell pwd):/app $(DOCKER_NAME)
|
|
|
|
.ONESHELL:
|
|
|
|
# Run script
|
|
run:
|
|
python3 -m virtscreen
|
|
|
|
# Docker tools
|
|
.PHONY: docker docker-build
|
|
|
|
docker:
|
|
$(DOCKER_RUN_TTY) /bin/bash
|
|
|
|
docker-build:
|
|
docker build -f Dockerfile -t $(DOCKER_NAME) .
|
|
|
|
# Python wheel package for PyPI
|
|
.PHONY: wheel-clean
|
|
|
|
package/pypi/%.whl:
|
|
python3 setup.py bdist_wheel --universal
|
|
cp dist/* package/pypi
|
|
-rm -rf build dist *.egg-info
|
|
|
|
wheel-clean:
|
|
-rm package/pypi/virtscreen*.whl
|
|
|
|
# For AppImage packaging, https://github.com/AppImage/AppImageKit/wiki/Creating-AppImages
|
|
.PHONY: appimage-clean
|
|
.SECONDARY: package/appimage/VirtScreen-x86_64.AppImage
|
|
|
|
package/appimage/%.AppImage:
|
|
$(DOCKER_RUN) package/appimage/build.sh
|
|
$(DOCKER_RUN) chown -R $(shell id -u):$(shell id -u) package/appimage
|
|
|
|
appimage-clean:
|
|
-rm -rf package/appimage/virtscreen.AppDir package/appimage/VirtScreen-x86_64.AppImage
|
|
|
|
# For Debian packaging, https://www.debian.org/doc/manuals/maint-guide/index.en.html
|
|
# https://www.debian.org/doc/manuals/debmake-doc/ch08.en.html#setup-py
|
|
.PHONY: deb-contents deb-clean
|
|
|
|
package/debian/%.deb: package/appimage/VirtScreen-x86_64.AppImage
|
|
$(DOCKER_RUN) package/debian/build.sh
|
|
$(DOCKER_RUN) chown -R $(shell id -u):$(shell id -u) package/debian
|
|
|
|
deb-contents:
|
|
$(DOCKER_RUN) dpkg -c package/debian/*.deb
|
|
|
|
deb-clean:
|
|
rm -rf package/debian/build package/debian/*.deb package/debian/*.buildinfo \
|
|
package/debian/*.changes
|
|
|
|
# For AUR: https://wiki.archlinux.org/index.php/Python_package_guidelines
|
|
# and: https://wiki.archlinux.org/index.php/Creating_packages
|
|
.PHONY: arch-upload arch-clean
|
|
|
|
arch-upload: package/archlinux/.SRCINFO
|
|
cd package/archlinux
|
|
git clone ssh://aur@aur.archlinux.org/virtscreen.git
|
|
cp PKGBUILD virtscreen
|
|
cp .SRCINFO virtscreen
|
|
cd virtscreen
|
|
git add --all
|
|
git commit
|
|
git push
|
|
cd ..
|
|
rm -rf virtscreen
|
|
|
|
package/archlinux/.SRCINFO:
|
|
cd package/archlinux
|
|
makepkg --printsrcinfo > .SRCINFO
|
|
|
|
arch-clean:
|
|
cd package/archlinux
|
|
-rm -rf pkg src *.tar* .SRCINFO
|
|
|
|
# Override version
|
|
.PHONY: override-version
|
|
|
|
override-version:
|
|
# Update python setup.py
|
|
perl -pi -e "s/version=\'\d+\.\d+\.\d+\'/version=\'$(VERSION)\'/" \
|
|
setup.py
|
|
# Update .json files in the module
|
|
perl -pi -e "s/\"version\"\s*\:\s*\"\d+\.\d+\.\d+\"/\"version\"\: \"$(VERSION)\"/" \
|
|
virtscreen/assets/data.json
|
|
perl -pi -e "s/\"version\"\s*\:\s*\"\d+\.\d+\.\d+\"/\"version\"\: \"$(VERSION)\"/" \
|
|
virtscreen/assets/config.default.json
|
|
# Arch AUR
|
|
perl -pi -e "s/pkgver=\d+\.\d+\.\d+/pkgver=$(VERSION)/" \
|
|
package/archlinux/PKGBUILD
|
|
# Debian
|
|
perl -pi -e "s/PKGVER=\d+\.\d+\.\d+/PKGVER=$(VERSION)/" \
|
|
package/debian/build.sh
|
|
|
|
# Clean packages
|
|
clean: appimage-clean arch-clean deb-clean wheel-clean
|