pkgname = "mupdf" pkgver = "1.26.12" pkgver2 = pkgver.split(".")[1] pkgver3 = pkgver.split(".")[2] source = f"https://www.mupdf.com/downloads/archive/mupdf-{pkgver}-source.tar.gz" builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}-source" fembuilddir = f"/tmp/fempkg/build/{pkgname}" outputdir = "/home/gabry/lfs-repo/binpkg" manifestdir = "/home/gabry/lfs-repo/manifests" destdir = f"{fembuilddir}/DESTDIR" deps = ["xorg-libs", "brotli", "libjpeg-turbo", "openjpeg", "freeglut"] build = [ # Extract f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}-source.tar.gz", # 64-bit build f"""cd {builddir} && cat > user.make << EOF USE_SYSTEM_BROTLI := yes USE_SYSTEM_FREETYPE := yes USE_SYSTEM_HARFBUZZ := yes USE_SYSTEM_JBIG2DEC := no USE_SYSTEM_JPEGXR := no # not used without HAVE_JPEGXR USE_SYSTEM_LCMS2 := no # lcms2mt is strongly preferred USE_SYSTEM_LIBJPEG := yes USE_SYSTEM_MUJS := no # build needs source anyway USE_SYSTEM_OPENJPEG := yes USE_SYSTEM_ZLIB := yes USE_SYSTEM_GLUT := yes USE_SYSTEM_CURL := yes USE_SYSTEM_GUMBO := no EOF""", f"cd {builddir} && export XCFLAGS=-fPIC && make build=release shared=yes verbose=yes", f"cd {builddir} && make prefix=/usr DESTDIR={destdir} shared=yes docdir=/usr/share/doc/mupdf-{pkgver} install", f"ln -sfv libmupdf.so.{pkgver2}.{pkgver3} {destdir}/usr/lib/libmupdf.so.{pkgver2} && ln -sfv libmupdf.so.{pkgver2} {destdir}/usr/lib/libmupdf.so && " f"chmod 755 {destdir}/usr/lib/libmupdf.so.{pkgver2}.{pkgver3} && ln -sfv mupdf-x11 {destdir}/usr/bin/mupdf", f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", # Make tarball + manifests f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", # Cleanup f"rm -rf {fembuilddir}" ]