mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-03 06:04:53 +00:00
MozJPEG is a fork of libjpeg-turbo with 'jpgcrush' functionality built in.
The goal is to provide a production-quality JPEG encoder that improves compression while maintaining compatibility with the vast majority of deployed decoders. The 'jpgcrush' feature finds the progressive coding configuration which uses the fewest bits. This most frequently reduces file size by 2-10%, but those are not hard limits. Significantly greater reductions have been observed. Library configuration defaults are the same as for libjpeg-turbo, in order to make transitions as painless as possible. There are new configuration options for new features, but they are not enabled by default. The 'cjpeg' program defaults are not the same as for the equivalent program in libjpeg-turbo. The 'cjpeg' defaults for mozjpeg are set to aggressively optimize for smaller file sizes. WWW: https://github.com/mozilla/mozjpeg/ PR: ports/187398 Submitted by: Horia Racoviceanu <horia@racoviceanu.com>
This commit is contained in:
parent
3967e48c49
commit
a194e4a6e8
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=348122
@ -583,6 +583,7 @@
|
||||
SUBDIR += mingplot
|
||||
SUBDIR += mirage
|
||||
SUBDIR += mmrecover
|
||||
SUBDIR += mozjpeg
|
||||
SUBDIR += mscgen
|
||||
SUBDIR += mtpaint
|
||||
SUBDIR += multican
|
||||
|
120
graphics/mozjpeg/Makefile
Normal file
120
graphics/mozjpeg/Makefile
Normal file
@ -0,0 +1,120 @@
|
||||
# Created by: Horia Racoviceanu <horia@racoviceanu.com>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= mozjpeg
|
||||
PORTVERSION= 1.0
|
||||
CATEGORIES= graphics
|
||||
|
||||
MAINTAINER= horia@racoviceanu.com
|
||||
COMMENT= Fork of libjpeg-turbo with 'jpgcrush' functionality
|
||||
|
||||
LICENSE= BSD3CLAUSE
|
||||
|
||||
BUILD_DEPENDS= nasm:${PORTSDIR}/devel/nasm
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= mozilla
|
||||
GH_TAGNAME= ${GH_COMMIT}
|
||||
GH_COMMIT= febf346
|
||||
|
||||
USE_AUTOTOOLS= aclocal:env autoconf automake libtool
|
||||
USE_LDCONFIG= ${PREFIX}/include/${PORTNAME} ${PREFIX}/lib/${PORTNAME}
|
||||
GNU_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --docdir=${PREFIX}/share/doc/${PORTNAME} \
|
||||
--includedir=${PREFIX}/include/${PORTNAME} \
|
||||
--libdir=${PREFIX}/lib/${PORTNAME}
|
||||
LIBTOOL_ARGS+= --finish ${PREFIX}/lib/${PORTNAME}
|
||||
LDFLAGS+= -L${PREFIX}/lib/${PORTNAME}
|
||||
|
||||
PLIST_SUB= PORTNAME=${PORTNAME} \
|
||||
SOMAJORVERSION=${SOMAJORVERSION}
|
||||
|
||||
PORTDOCS= *
|
||||
|
||||
DOCSRCDIR1= ${WRKSRC}/doc/html
|
||||
DOCSDIR1= ${DOCSDIR}/html
|
||||
|
||||
DOCSRCDIR2= ${DOCSRCDIR1}/search
|
||||
DOCSDIR2= ${DOCSDIR1}/search
|
||||
|
||||
DOC_FILES= *.css *.html *.js *.png
|
||||
|
||||
PORTEXAMPLES= *
|
||||
|
||||
OPTIONS_DEFINE= DOCS EXAMPLES GCC SIMD TURBOJPEG
|
||||
|
||||
OPTIONS_GROUP= ARITHMETIC_CODING
|
||||
OPTIONS_GROUP_ARITHMETIC_CODING= DECODING ENCODING
|
||||
|
||||
OPTIONS_MULTI= LIBRARIES
|
||||
OPTIONS_MULTI_LIBRARIES= SHARED STATIC
|
||||
|
||||
OPTIONS_SINGLE= API_ABI_EMULATION
|
||||
OPTIONS_SINGLE_API_ABI_EMULATION= JPEG6B JPEG7 JPEG8
|
||||
|
||||
OPTIONS_DEFAULT= DECODING ENCODING GCC JPEG6B SHARED SIMD STATIC TURBOJPEG
|
||||
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
GCC_DESC= Use the GNU Compiler Collection (GCC) for best performance
|
||||
SIMD_DESC= Include SIMD extensions (MMX, SSE2, NEON)
|
||||
TURBOJPEG_DESC= Include the TurboJPEG wrapper library and associated tests
|
||||
|
||||
ENCODING_DESC= Enable arithmetic encoding
|
||||
DECODING_DESC= Enable arithmetic decoding
|
||||
|
||||
STATIC_DESC= Build static libraries
|
||||
SHARED_DESC= Build shared libraries
|
||||
|
||||
JPEG6B_DESC= API/ABI-compatible with libjpeg v6b
|
||||
JPEG7_DESC= API/ABI-compatible with libjpeg v7 (implies arith-coding)
|
||||
JPEG8_DESC= API/ABI-compatible with libjpeg v8 (implies arith-coding)
|
||||
|
||||
GCC_USE= GCC=any
|
||||
SIMD_CONFIGURE_WITH= simd
|
||||
TURBOJPEG_CONFIGURE_WITH= turbojpeg
|
||||
|
||||
JPEG7_CONFIGURE_WITH= jpeg7
|
||||
JPEG8_CONFIGURE_WITH= jpeg8
|
||||
|
||||
STATIC_CONFIGURE_ENABLE= static
|
||||
SHARED_CONFIGURE_ENABLE= shared
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.if ${PORT_OPTIONS:MJPEG6B}
|
||||
. if ! ${PORT_OPTIONS:MENCODING}
|
||||
CONFIGURE_ARGS+= --without-arith-enc
|
||||
. endif
|
||||
. if ! ${PORT_OPTIONS:MDECODING}
|
||||
CONFIGURE_ARGS+= --without-arith-dec
|
||||
. endif
|
||||
SOMAJORVERSION= 63
|
||||
.else
|
||||
SOMAJORVERSION= 8
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e "s|docdir = \$$(datadir)/doc|&/mozjpeg|; \
|
||||
s|exampledir = \$$(datadir)/doc|exampledir = ${EXAMPLESDIR}|" \
|
||||
${WRKSRC}/Makefile.am
|
||||
|
||||
run-autotools: run-autotools-autoreconf
|
||||
|
||||
run-autotools-autoreconf:
|
||||
cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTORECONF} -fiv
|
||||
|
||||
post-install:
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR2}
|
||||
${INSTALL_DATA} ${DOC_FILES:S|^|${DOCSRCDIR1}/|} ${STAGEDIR}${DOCSDIR1}
|
||||
${INSTALL_DATA} ${DOC_FILES:S|^|${DOCSRCDIR2}/|} ${STAGEDIR}${DOCSDIR2}
|
||||
|
||||
.if ${PORT_OPTIONS:MSHARED}
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/libjpeg.so.${SOMAJORVERSION}
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MSHARED} && ${PORT_OPTIONS:MTURBOJPEG}
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/libturbojpeg.so.1
|
||||
.endif
|
||||
|
||||
.include <bsd.port.mk>
|
2
graphics/mozjpeg/distinfo
Normal file
2
graphics/mozjpeg/distinfo
Normal file
@ -0,0 +1,2 @@
|
||||
SHA256 (mozjpeg-1.0.tar.gz) = 6c4845d7fa0bddd77e4a209e8e81bde11af8524dcd2cb0bb10bfd9519548ec95
|
||||
SIZE (mozjpeg-1.0.tar.gz) = 1032706
|
19
graphics/mozjpeg/pkg-descr
Normal file
19
graphics/mozjpeg/pkg-descr
Normal file
@ -0,0 +1,19 @@
|
||||
MozJPEG is a fork of libjpeg-turbo with 'jpgcrush' functionality built in.
|
||||
|
||||
The goal is to provide a production-quality JPEG encoder that improves
|
||||
compression while maintaining compatibility with the vast majority of deployed
|
||||
decoders.
|
||||
|
||||
The 'jpgcrush' feature finds the progressive coding configuration which uses the
|
||||
fewest bits. This most frequently reduces file size by 2-10%, but those are not
|
||||
hard limits. Significantly greater reductions have been observed.
|
||||
|
||||
Library configuration defaults are the same as for libjpeg-turbo, in order to
|
||||
make transitions as painless as possible. There are new configuration options
|
||||
for new features, but they are not enabled by default.
|
||||
|
||||
The 'cjpeg' program defaults are not the same as for the equivalent program in
|
||||
libjpeg-turbo. The 'cjpeg' defaults for mozjpeg are set to aggressively optimize
|
||||
for smaller file sizes.
|
||||
|
||||
WWW: https://github.com/mozilla/mozjpeg/
|
26
graphics/mozjpeg/pkg-plist
Normal file
26
graphics/mozjpeg/pkg-plist
Normal file
@ -0,0 +1,26 @@
|
||||
bin/cjpeg
|
||||
bin/djpeg
|
||||
bin/jpegtran
|
||||
bin/rdjpgcom
|
||||
%%TURBOJPEG%%bin/tjbench
|
||||
bin/wrjpgcom
|
||||
include/%%PORTNAME%%/jconfig.h
|
||||
include/%%PORTNAME%%/jerror.h
|
||||
include/%%PORTNAME%%/jmorecfg.h
|
||||
include/%%PORTNAME%%/jpeglib.h
|
||||
%%TURBOJPEG%%include/%%PORTNAME%%/turbojpeg.h
|
||||
%%STATIC%%lib/%%PORTNAME%%/libjpeg.a
|
||||
lib/%%PORTNAME%%/libjpeg.la
|
||||
%%SHARED%%lib/%%PORTNAME%%/libjpeg.so
|
||||
%%SHARED%%lib/%%PORTNAME%%/libjpeg.so.%%SOMAJORVERSION%%
|
||||
%%STATIC%%%%TURBOJPEG%%lib/%%PORTNAME%%/libturbojpeg.a
|
||||
%%TURBOJPEG%%lib/%%PORTNAME%%/libturbojpeg.la
|
||||
%%SHARED%%%%TURBOJPEG%%lib/%%PORTNAME%%/libturbojpeg.so
|
||||
%%SHARED%%%%TURBOJPEG%%lib/%%PORTNAME%%/libturbojpeg.so.1
|
||||
man/man1/cjpeg.1.gz
|
||||
man/man1/djpeg.1.gz
|
||||
man/man1/jpegtran.1.gz
|
||||
man/man1/rdjpgcom.1.gz
|
||||
man/man1/wrjpgcom.1.gz
|
||||
@dirrm lib/%%PORTNAME%%
|
||||
@dirrm include/%%PORTNAME%%
|
Loading…
Reference in New Issue
Block a user