diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fdb987e..2061085 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -91,3 +91,17 @@ jobs: with: name: video2x-nightly-windows-amd64 path: build/video2x_install + + container: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - uses: mr-smithers-excellent/docker-build-push@v5 + name: Build the Docker image + with: + registry: ghcr.io + dockerfile: packaging/docker/Dockerfile + image: video2x + tags: latest + pushImage: false diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 545cbfe..e6544a1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,7 @@ jobs: registry: ghcr.io username: ${{ secrets.GHCR_USER }} password: ${{ secrets.GHCR_TOKEN }} - dockerfile: Dockerfile + dockerfile: packaging/docker/Dockerfile image: video2x tags: latest, ${{ needs.setup.outputs.version }} diff --git a/CMakeLists.txt b/CMakeLists.txt index 98e7e5f..f03ec58 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -104,7 +104,7 @@ if(WIN32) else() # FFmpeg find_package(PkgConfig REQUIRED) - set(REQUIRED_PKGS + set(FFMPEG_REQUIRED_PKGS REQUIRED libavcodec libavdevice libavfilter @@ -114,7 +114,7 @@ else() ) # Loop through each package to find and collect include dirs and libraries - foreach(PKG ${REQUIRED_PKGS}) + foreach(PKG ${FFMPEG_REQUIRED_PKGS}) pkg_check_modules(${PKG} REQUIRED ${PKG}) list(APPEND ALL_INCLUDE_DIRS ${${PKG}_INCLUDE_DIRS}) list(APPEND ALL_LIBRARIES ${${PKG}_LIBRARIES}) diff --git a/README.md b/README.md index 8eccd49..afcf28a 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ You can download the latest Windows release from the [releases page](https://git ## [🐧 Install on Linux](https://aur.archlinux.org/packages/video2x-git) -You can install Video2X on Arch Linux using the [video2x-git](https://aur.archlinux.org/packages/video2x-git) package or download pre-compiled binaries from the [releases page](https://github.com/k4yt3x/video2x/releases/latest). If you'd like to build from source, refer to the [PKGBUILD](PKGBUILD) file for a general overview of the required packages and commands. If you'd prefer not to compile the program from source, consider using the container image below. +You can install Video2X on Arch Linux using the [video2x-git](https://aur.archlinux.org/packages/video2x-git) package or download pre-compiled binaries from the [releases page](https://github.com/k4yt3x/video2x/releases/latest). If you'd like to build from source, refer to the [PKGBUILD](packaging/arch/PKGBUILD) file for a general overview of the required packages and commands. If you'd prefer not to compile the program from source, consider using the container image below. ## [📦 Container Image](https://github.com/k4yt3x/video2x/pkgs/container/video2x) diff --git a/PKGBUILD b/packaging/arch/PKGBUILD similarity index 100% rename from PKGBUILD rename to packaging/arch/PKGBUILD diff --git a/packaging/debian/control b/packaging/debian/control new file mode 100644 index 0000000..91bf591 --- /dev/null +++ b/packaging/debian/control @@ -0,0 +1,8 @@ +Package: video2x +Version: 6.0.0 +Section: video +Priority: optional +Architecture: amd64 +Maintainer: K4YT3X +Depends: ffmpeg, libopencv-videoio406t64 +Description: A machine learning-based lossless video super resolution framework. diff --git a/Dockerfile b/packaging/docker/Dockerfile similarity index 94% rename from Dockerfile rename to packaging/docker/Dockerfile index 7339000..5583cdc 100644 --- a/Dockerfile +++ b/packaging/docker/Dockerfile @@ -1,7 +1,7 @@ # Name: Video2X Dockerfile # Creator: K4YT3X # Date Created: February 3, 2022 -# Last Modified: October 21, 2024 +# Last Modified: October 30, 2024 # stage 1: build the python components into wheels FROM docker.io/archlinux:latest AS builder @@ -20,7 +20,8 @@ COPY --chown=builder:builder . /video2x WORKDIR /video2x # Build the package -RUN makepkg -s --noconfirm \ +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