mirror of
https://github.com/k4yt3x/video2x.git
synced 2026-02-15 09:44:46 +08:00
chore: reorganized packaging related files
Signed-off-by: k4yt3x <i@k4yt3x.com>
This commit is contained in:
27
packaging/arch/PKGBUILD
Normal file
27
packaging/arch/PKGBUILD
Normal file
@@ -0,0 +1,27 @@
|
||||
pkgname=video2x
|
||||
pkgver=r843.e09f348
|
||||
pkgrel=1
|
||||
pkgdesc="A machine learning-based lossless video super resolution framework"
|
||||
arch=('x86_64')
|
||||
url="https://github.com/k4yt3x/video2x"
|
||||
license=('AGPL3')
|
||||
depends=('ffmpeg' 'ncnn' 'vulkan-driver' 'opencv' 'spdlog')
|
||||
makedepends=('git' 'cmake' 'make' 'clang' 'pkgconf' 'vulkan-headers' 'openmp')
|
||||
|
||||
pkgver() {
|
||||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||
}
|
||||
|
||||
prepare() {
|
||||
git submodule update --init --recursive
|
||||
}
|
||||
|
||||
build() {
|
||||
cmake -B build -S .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
|
||||
cmake --build build --config Release --parallel
|
||||
}
|
||||
|
||||
package() {
|
||||
DESTDIR="$pkgdir" cmake --install build
|
||||
}
|
||||
|
||||
8
packaging/debian/control
Normal file
8
packaging/debian/control
Normal file
@@ -0,0 +1,8 @@
|
||||
Package: video2x
|
||||
Version: 6.0.0
|
||||
Section: video
|
||||
Priority: optional
|
||||
Architecture: amd64
|
||||
Maintainer: K4YT3X <i@k4yt3x.com>
|
||||
Depends: ffmpeg, libopencv-videoio406t64
|
||||
Description: A machine learning-based lossless video super resolution framework.
|
||||
46
packaging/docker/Dockerfile
Normal file
46
packaging/docker/Dockerfile
Normal file
@@ -0,0 +1,46 @@
|
||||
# Name: Video2X Dockerfile
|
||||
# Creator: K4YT3X
|
||||
# Date Created: February 3, 2022
|
||||
# Last Modified: October 30, 2024
|
||||
|
||||
# stage 1: build the python components into wheels
|
||||
FROM docker.io/archlinux:latest AS builder
|
||||
|
||||
# Install dependencies and create a non-root user
|
||||
RUN pacman -Syy --noconfirm \
|
||||
base-devel git cmake make clang pkgconf sudo \
|
||||
ffmpeg ncnn vulkan-headers openmp spdlog opencv \
|
||||
nvidia-utils vulkan-radeon vulkan-intel vulkan-swrast \
|
||||
&& useradd -m builder \
|
||||
&& echo 'builder ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/builder
|
||||
|
||||
# Switch to the non-root user and copy the source code
|
||||
USER builder
|
||||
COPY --chown=builder:builder . /video2x
|
||||
WORKDIR /video2x
|
||||
|
||||
# Build the package
|
||||
RUN cp packaging/arch/PKGBUILD . \
|
||||
&& makepkg -s --noconfirm \
|
||||
&& find /video2x -maxdepth 1 -name 'video2x-*.pkg.tar.zst' ! -name '*-debug-*' | head -n 1 | \
|
||||
xargs -I {} cp {} /tmp/video2x.pkg.tar.zst
|
||||
|
||||
# stage 2: install wheels into the final image
|
||||
FROM docker.io/archlinux:latest
|
||||
LABEL maintainer="K4YT3X <i@k4yt3x.com>" \
|
||||
org.opencontainers.image.source="https://github.com/k4yt3x/video2x" \
|
||||
org.opencontainers.image.description="A lossless video super resolution framework"
|
||||
|
||||
ENV VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json\
|
||||
:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json\
|
||||
:/usr/share/vulkan/icd.d/intel_icd.x86_64.json\
|
||||
:/usr/share/vulkan/icd.d/lvp_icd.x86_64.json
|
||||
|
||||
COPY --from=builder /tmp/video2x.pkg.tar.zst /video2x.pkg.tar.zst
|
||||
RUN pacman -Sy --noconfirm nvidia-utils vulkan-radeon vulkan-intel vulkan-swrast \
|
||||
ffmpeg ncnn spdlog opencv \
|
||||
&& pacman -U --noconfirm /video2x.pkg.tar.zst \
|
||||
&& rm -rf /video2x.pkg.tar.zst /var/cache/pacman/pkg/*
|
||||
|
||||
WORKDIR /host
|
||||
ENTRYPOINT ["/usr/bin/video2x"]
|
||||
Reference in New Issue
Block a user