mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Adds extra system libraries for pikepdf/Pillow building
This commit is contained in:
		| @@ -47,7 +47,14 @@ ARG RUNTIME_PACKAGES="\ | |||||||
|   liblept5 \ |   liblept5 \ | ||||||
|   libpq5 \ |   libpq5 \ | ||||||
|   libxml2 \ |   libxml2 \ | ||||||
|  |   liblcms2-2 \ | ||||||
|  |   libtiff5 \ | ||||||
|   libxslt1.1 \ |   libxslt1.1 \ | ||||||
|  |   libfreetype6 \ | ||||||
|  |   libwebp6 \ | ||||||
|  |   libopenjp2-7 \ | ||||||
|  |   libimagequant0 \ | ||||||
|  |   libraqm0 \ | ||||||
|   libgnutls30 \ |   libgnutls30 \ | ||||||
|   libjpeg62-turbo \ |   libjpeg62-turbo \ | ||||||
|   optipng \ |   optipng \ | ||||||
|   | |||||||
| @@ -37,6 +37,9 @@ psycopg2_git_tag=${psycopg2_version//./_} | |||||||
| # pikepdf uses vX.Y.Z | # pikepdf uses vX.Y.Z | ||||||
| pikepdf_git_tag="v${pikepdf_version}" | pikepdf_git_tag="v${pikepdf_version}" | ||||||
|  |  | ||||||
|  | # https://docs.docker.com/develop/develop-images/build_enhancements/ | ||||||
|  | export DOCKER_BUILDKIT=1 | ||||||
|  |  | ||||||
| docker build --file "$1" \ | docker build --file "$1" \ | ||||||
| 	--build-arg JBIG2ENC_VERSION="${jbig2enc_version}" \ | 	--build-arg JBIG2ENC_VERSION="${jbig2enc_version}" \ | ||||||
| 	--build-arg QPDF_VERSION="${qpdf_version}" \ | 	--build-arg QPDF_VERSION="${qpdf_version}" \ | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ | |||||||
| # Inputs: | # Inputs: | ||||||
| #    - JBIG2ENC_VERSION - the Git tag to checkout and build | #    - JBIG2ENC_VERSION - the Git tag to checkout and build | ||||||
|  |  | ||||||
| FROM debian:bullseye-slim | FROM debian:bullseye-slim as main | ||||||
|  |  | ||||||
| LABEL org.opencontainers.image.description="A intermediate image with jbig2enc built" | LABEL org.opencontainers.image.description="A intermediate image with jbig2enc built" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ FROM ghcr.io/${REPO}/builder/qpdf:${QPDF_VERSION} as qpdf-builder | |||||||
|  |  | ||||||
| # This does nothing, except provide a name for a copy below | # This does nothing, except provide a name for a copy below | ||||||
|  |  | ||||||
| FROM python:3.9-slim-bullseye | FROM python:3.9-slim-bullseye as main | ||||||
|  |  | ||||||
| LABEL org.opencontainers.image.description="A intermediate image with pikepdf wheel built" | LABEL org.opencontainers.image.description="A intermediate image with pikepdf wheel built" | ||||||
|  |  | ||||||
| @@ -21,14 +21,33 @@ ARG DEBIAN_FRONTEND=noninteractive | |||||||
|  |  | ||||||
| ARG BUILD_PACKAGES="\ | ARG BUILD_PACKAGES="\ | ||||||
|   build-essential \ |   build-essential \ | ||||||
|  |   python3-dev \ | ||||||
|  |   python3-pip \ | ||||||
|   git \ |   git \ | ||||||
|   libjpeg62-turbo-dev \ |   # qpdf requirement - https://github.com/qpdf/qpdf#crypto-providers | ||||||
|   zlib1g-dev \ |  | ||||||
|   libgnutls28-dev \ |   libgnutls28-dev \ | ||||||
|  |   # lxml requrements - https://lxml.de/installation.html | ||||||
|   libxml2-dev \ |   libxml2-dev \ | ||||||
|   libxslt1-dev \ |   libxslt1-dev \ | ||||||
|   python3-dev \ |   # Pillow requirements - https://pillow.readthedocs.io/en/stable/installation.html | ||||||
|   python3-pip" |   # JPEG functionality | ||||||
|  |   libjpeg62-turbo-dev \ | ||||||
|  |   # conpressed PNG | ||||||
|  |   zlib1g-dev \ | ||||||
|  |   # compressed TIFF | ||||||
|  |   libtiff-dev \ | ||||||
|  |   # type related services | ||||||
|  |   libfreetype-dev \ | ||||||
|  |   # color management | ||||||
|  |   liblcms2-dev \ | ||||||
|  |   # WebP format | ||||||
|  |   libwebp-dev \ | ||||||
|  |   # JPEG 2000 | ||||||
|  |   libopenjp2-7-dev \ | ||||||
|  |   # improved color quantization | ||||||
|  |   libimagequant-dev \ | ||||||
|  |   # complex text layout support | ||||||
|  |   libraqm-dev" | ||||||
|  |  | ||||||
| WORKDIR /usr/src | WORKDIR /usr/src | ||||||
|  |  | ||||||
| @@ -42,7 +61,11 @@ RUN set -eux \ | |||||||
|   && apt-get install --yes --quiet --no-install-recommends $BUILD_PACKAGES \ |   && apt-get install --yes --quiet --no-install-recommends $BUILD_PACKAGES \ | ||||||
|   && dpkg --install libqpdf28_*.deb \ |   && dpkg --install libqpdf28_*.deb \ | ||||||
|   && dpkg --install libqpdf-dev_*.deb \ |   && dpkg --install libqpdf-dev_*.deb \ | ||||||
|   && python3 -m pip install --no-cache-dir --upgrade pip wheel pybind11 \ |   && python3 -m pip install --no-cache-dir --upgrade \ | ||||||
|  |     pip \ | ||||||
|  |     wheel \ | ||||||
|  |     # https://pikepdf.readthedocs.io/en/latest/installation.html#requirements | ||||||
|  |     pybind11 \ | ||||||
|   && rm -rf /var/lib/apt/lists/* |   && rm -rf /var/lib/apt/lists/* | ||||||
|  |  | ||||||
| # Layers after this point change according to required version | # Layers after this point change according to required version | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
| #    - PSYCOPG2_GIT_TAG - The Git tag to clone and build from | #    - PSYCOPG2_GIT_TAG - The Git tag to clone and build from | ||||||
| #    - PSYCOPG2_VERSION - Unused, kept for future possible usage | #    - PSYCOPG2_VERSION - Unused, kept for future possible usage | ||||||
|  |  | ||||||
| FROM python:3.9-slim-bullseye | FROM python:3.9-slim-bullseye as main | ||||||
|  |  | ||||||
| LABEL org.opencontainers.image.description="A intermediate image with psycopg2 wheel built" | LABEL org.opencontainers.image.description="A intermediate image with psycopg2 wheel built" | ||||||
|  |  | ||||||
| @@ -12,9 +12,10 @@ ARG DEBIAN_FRONTEND=noninteractive | |||||||
| ARG BUILD_PACKAGES="\ | ARG BUILD_PACKAGES="\ | ||||||
|   build-essential \ |   build-essential \ | ||||||
|   git \ |   git \ | ||||||
|   libpq-dev \ |  | ||||||
|   python3-dev \ |   python3-dev \ | ||||||
|   python3-pip" |   python3-pip \ | ||||||
|  |   # https://www.psycopg.org/docs/install.html#prerequisites | ||||||
|  |   libpq-dev" | ||||||
|  |  | ||||||
| WORKDIR /usr/src | WORKDIR /usr/src | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| FROM debian:bullseye-slim | FROM debian:bullseye-slim as main | ||||||
|  |  | ||||||
| LABEL org.opencontainers.image.description="A intermediate image with qpdf built" | LABEL org.opencontainers.image.description="A intermediate image with qpdf built" | ||||||
|  |  | ||||||
| @@ -11,6 +11,7 @@ ARG BUILD_PACKAGES="\ | |||||||
|   devscripts \ |   devscripts \ | ||||||
|   equivs  \ |   equivs  \ | ||||||
|   libtool \ |   libtool \ | ||||||
|  |   # https://qpdf.readthedocs.io/en/stable/installation.html#system-requirements | ||||||
|   libjpeg62-turbo-dev \ |   libjpeg62-turbo-dev \ | ||||||
|   libgnutls28-dev \ |   libgnutls28-dev \ | ||||||
|   packaging-dev \ |   packaging-dev \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Trenton Holmes
					Trenton Holmes