| Summary: | [patch] graphics/mupdf links with ssl if a pkgconfig for libcrypto exists | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | rsmith | ||||||
| Component: | Individual Port(s) | Assignee: | Tobias Kortkamp <tobik> | ||||||
| Status: | Closed FIXED | ||||||||
| Severity: | Affects Only Me | CC: | uzsolt | ||||||
| Priority: | --- | Keywords: | patch | ||||||
| Version: | Latest | Flags: | bugzilla:
maintainer-feedback?
(uzsolt) |
||||||
| Hardware: | Any | ||||||||
| OS: | Any | ||||||||
| Attachments: |
|
||||||||
Hm, you've right. I think it will be the simplier solution. I don't accept your patch because I want to update to 1.11, and include USE=ssl too :) Thanks for your report! Your patch isn't good.
If you add simply "USES+=ssl" it means that mupdf wants to use SSL base (/usr/lib/libcrypto.so) and doesn't trigger to install libre/openssl.
And in this case you don't have any ssl-specific pkg-config file so the mupdf's test will fail.
I think we have two choices:
- full disable the ssl (patch the ssl-test in Makerules)
- use the system's ssl (patch the ssl-test and SYS_LIBCRYPTO_{CFLAGS,LIBS})
Or an another choice:
- use libre/openssl - but I don't want it because I've an idea to more work on mupdf port: print/cups-client now requires mupdf so the install of cups-client requires many Xorg-libraries (if you've a printserver you don't want many Xorg-libraries).
My opinion: the full disable because there isn't any bug report (feature request) about missing ssl in mupdf.
Created attachment 182234 [details]
Patch Makerules to disable SSL for mupdf-1.10a
Looking at the source code for 1.10a, OpenSSL is only used in one file, `source/pdf/pdf-pkcs7.c`. Looking at the Makerules file, OS-X disables OpenSSL because they don't use libcrypto. So I made a patch (attached) for Makerules to disable OpenSSL completely on FreeBSD. Mupdf-1.10a then builds, installs and runs OK without libcrypto. So I'd say: disable OpenSSL. (In reply to rsmith from comment #5) It's already done in #218996, thanks! A commit references this bug: Author: tobik Date: Tue May 2 12:22:22 UTC 2017 New revision: 439942 URL: https://svnweb.freebsd.org/changeset/ports/439942 Log: Update to 1.11 - Prevent linking with libcrypto when a pkg-config file for it exists on the system [1] - Bump PORTREVISION of dependent ports PR: 218996, 218688 [1] Reported by: rsmith@xs4all.nl [1] Submitted by: Zsolt Udvari <udvzsolt@gmail.com> (maintainer) Approved by: lme (mentor) Differential Revision: https://reviews.freebsd.org/D10561 Changes: head/graphics/llpp/Makefile head/graphics/mupdf/Makefile head/graphics/mupdf/distinfo head/graphics/mupdf/files/patch-Makefile head/graphics/mupdf/files/patch-Makerules head/graphics/mupdf/files/patch-scripts_fontdump.c head/graphics/mupdf/files/patch-scripts_hexdump.c head/graphics/mupdf/files/patch-source__fitz__load-jpx.c head/graphics/mupdf/pkg-plist head/graphics/zathura-pdf-mupdf/Makefile I think this bug is already done. Please close it! |
Created attachment 181824 [details] Patch for port makefile It checks for libcrypto in Makerules: # FreeBSD uses pkg-config for system libraries. else ifeq "$(OS)" "FreeBSD" HAVE_PTHREADS ?= yes ifeq "$(shell pkg-config --exists libcrypto && echo yes)" "yes" HAVE_LIBCRYPTO = yes SYS_LIBCRYPTO_CFLAGS = -DHAVE_LIBCRYPTO $(shell pkg-config --cflags libcrypto) SYS_LIBCRYPTO_LIBS = $(shell pkg-config --libs libcrypto) endif Since I have LibreSSL installed, the pkg-config test yields “yes”: > pkg-config --exists libcrypto && echo yes yes Since the base system does not have a pkg-config file for libcrypto, I assume the test will fail, and mupdf will not link against libcrypto. The easiest solution is to ad USES = ssl, as is done in the attached patch.