mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
libjpeg-turbo: new recipe (#2336)
Passes all tests on all architectures: GREAT SUCCESS!
This commit is contained in:
139
media-libs/libjpeg-turbo/libjpeg_turbo-1.5.3.recipe
Normal file
139
media-libs/libjpeg-turbo/libjpeg_turbo-1.5.3.recipe
Normal file
@@ -0,0 +1,139 @@
|
||||
SUMMARY="MMX, SSE, and SSE2 SIMD accelerated JPEG library"
|
||||
DESCRIPTION="libjpeg-turbo is a JPEG image codec that uses SIMD instructions \
|
||||
(MMX, SSE2, AVX2, NEON, AltiVec) to accelerate baseline JPEG compression and \
|
||||
decompression on x86, x86-64, ARM, and PowerPC systems. On such systems, \
|
||||
libjpeg-turbo is generally 2-6x as fast as libjpeg, all else being equal. On \
|
||||
other types of systems, libjpeg-turbo can still outperform libjpeg by a \
|
||||
significant amount, by virtue of its highly-optimized Huffman coding routines.
|
||||
In many cases, the performance of libjpeg-turbo rivals that of proprietary \
|
||||
high-speed JPEG codecs.
|
||||
libjpeg-turbo implements both the traditional libjpeg API as well as the less \
|
||||
powerful but more straightforward TurboJPEG API. libjpeg-turbo also features \
|
||||
colorspace extensions that allow it to compress from/decompress to 32-bit and \
|
||||
big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java \
|
||||
interface.
|
||||
libjpeg-turbo was originally based on libjpeg/SIMD, an MMX-accelerated \
|
||||
derivative of libjpeg v6b developed by Miyasaka Masaru. The TigerVNC and \
|
||||
VirtualGL projects made numerous enhancements to the codec in 2009, and in \
|
||||
early 2010, libjpeg-turbo spun off into an independent project, with the goal \
|
||||
of making high-speed JPEG compression/decompression technology available to \
|
||||
a broader range of users and developers."
|
||||
HOMEPAGE="https://www.libjpeg-turbo.org/"
|
||||
COPYRIGHT="1991-2018 Thomas G. Lane, Guido Vollbeding
|
||||
1997-2010 Guido Vollbeding
|
||||
2000-2017 D. R. Commander
|
||||
2009 Bill Allombert
|
||||
1999-2006 MIYASAKA Masaru
|
||||
2011 Siarhei Siamashka
|
||||
2013 Linaro Limited
|
||||
2014 MIPS Technologies, Inc.
|
||||
2015 Google, Inc.
|
||||
2015 Matthieu Darbois"
|
||||
LICENSE="BSD (3-clause)
|
||||
IJG
|
||||
Zlib"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523"
|
||||
SOURCE_DIR="libjpeg-turbo-$portVersion"
|
||||
PATCHES="libjpeg_turbo-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64 ?arm"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
libjpegVersion="62.2.0"
|
||||
libjpegVersionCompat="$libjpegVersion compat >= ${libjpegVersion%%.*}"
|
||||
libturbojpegVersion="0.1.0"
|
||||
libturbojpegVersionCompat="$libturbojpegVersion compat >= ${libturbojpegVersion%%.*}"
|
||||
|
||||
PROVIDES="
|
||||
jpeg_turbo$secondaryArchSuffix = $portVersion
|
||||
lib:libjpeg$secondaryArchSuffix = $libjpegVersion
|
||||
lib:libturbojpeg$secondaryArchSuffix = $libturbojpegVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
"
|
||||
CONFLICTS="
|
||||
jpeg$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
jpeg_turbo${secondaryArchSuffix}_devel = $portVersion
|
||||
devel:libjpeg$secondaryArchSuffix = $libjpegVersion
|
||||
devel:libturbojpeg$secondaryArchSuffix = $libturbojpegVersion
|
||||
"
|
||||
REQUIRES_devel="
|
||||
jpeg_turbo$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
CONFLICTS_devel="
|
||||
jpeg${secondaryArchSuffix}_devel
|
||||
"
|
||||
|
||||
PROVIDES_tools="
|
||||
jpeg_turbo${secondaryArchSuffix}_tools = $portVersion
|
||||
cmd:cjpeg$secondaryArchSuffix = $portVersion
|
||||
cmd:djpeg$secondaryArchSuffix = $portVersion
|
||||
cmd:jpegtran$secondaryArchSuffix = $portVersion
|
||||
cmd:rdjpgcom$secondaryArchSuffix = $portVersion
|
||||
cmd:tjbench$secondaryArchSuffix = $portVersion
|
||||
cmd:wrjpgcom$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES_tools="
|
||||
haiku$secondaryArchSuffix
|
||||
jpeg_turbo$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
CONFLICTS_tools="
|
||||
jpeg${secondaryArchSuffix}_tools
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:aclocal
|
||||
cmd:automake
|
||||
cmd:autoreconf
|
||||
cmd:awk
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:grep
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:libtoolize$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:nasm
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
defineDebugInfoPackage jpeg_turbo$secondaryArchSuffix \
|
||||
$libDir/libjpeg.so.$libjpegVersion \
|
||||
$libDir/libturbojpeg.so.$libturbojpegVersion
|
||||
|
||||
BUILD()
|
||||
{
|
||||
autoreconf -fi
|
||||
runConfigure ./configure
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
|
||||
rm -f "$libDir"/lib*jpeg.la
|
||||
|
||||
prepareInstalledDevelLibs libjpeg libturbojpeg
|
||||
|
||||
# devel package
|
||||
packageEntries devel \
|
||||
$developDir
|
||||
|
||||
# tools package
|
||||
packageEntries tools \
|
||||
$binDir \
|
||||
$documentationDir
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
make test
|
||||
}
|
||||
73
media-libs/libjpeg-turbo/licenses/IJG
Normal file
73
media-libs/libjpeg-turbo/licenses/IJG
Normal file
@@ -0,0 +1,73 @@
|
||||
In plain English:
|
||||
|
||||
1. We don't promise that this software works. (But if you find any bugs,
|
||||
please let us know!)
|
||||
2. You can use this software for whatever you want. You don't have to pay us.
|
||||
3. You may not pretend that you wrote this software. If you use it in a
|
||||
program, you must acknowledge somewhere in your documentation that
|
||||
you've used the IJG code.
|
||||
|
||||
In legalese:
|
||||
|
||||
The authors make NO WARRANTY or representation, either express or implied,
|
||||
with respect to this software, its quality, accuracy, merchantability, or
|
||||
fitness for a particular purpose. This software is provided "AS IS", and you,
|
||||
its user, assume the entire risk as to its quality and accuracy.
|
||||
|
||||
This software is copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding.
|
||||
All Rights Reserved except as specified below.
|
||||
|
||||
Permission is hereby granted to use, copy, modify, and distribute this
|
||||
software (or portions thereof) for any purpose, without fee, subject to these
|
||||
conditions:
|
||||
(1) If any part of the source code for this software is distributed, then this
|
||||
README file must be included, with this copyright and no-warranty notice
|
||||
unaltered; and any additions, deletions, or changes to the original files
|
||||
must be clearly indicated in accompanying documentation.
|
||||
(2) If only executable code is distributed, then the accompanying
|
||||
documentation must state that "this software is based in part on the work of
|
||||
the Independent JPEG Group".
|
||||
(3) Permission for use of this software is granted only if the user accepts
|
||||
full responsibility for any undesirable consequences; the authors accept
|
||||
NO LIABILITY for damages of any kind.
|
||||
|
||||
These conditions apply to any software derived from or based on the IJG code,
|
||||
not just to the unmodified library. If you use our work, you ought to
|
||||
acknowledge us.
|
||||
|
||||
Permission is NOT granted for the use of any IJG author's name or company name
|
||||
in advertising or publicity relating to this software or products derived from
|
||||
it. This software may be referred to only as "the Independent JPEG Group's
|
||||
software".
|
||||
|
||||
We specifically permit and encourage the use of this software as the basis of
|
||||
commercial products, provided that all warranty or liability claims are
|
||||
assumed by the product vendor.
|
||||
|
||||
|
||||
ansi2knr.c is included in this distribution by permission of L. Peter Deutsch,
|
||||
sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA.
|
||||
ansi2knr.c is NOT covered by the above copyright and conditions, but instead
|
||||
by the usual distribution terms of the Free Software Foundation; principally,
|
||||
that you must include source code if you redistribute it. (See the file
|
||||
ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part
|
||||
of any program generated from the IJG code, this does not limit you more than
|
||||
the foregoing paragraphs do.
|
||||
|
||||
The Unix configuration script "configure" was produced with GNU Autoconf.
|
||||
It is copyright by the Free Software Foundation but is freely distributable.
|
||||
The same holds for its supporting scripts (config.guess, config.sub,
|
||||
ltmain.sh). Another support script, install-sh, is copyright by X Consortium
|
||||
but is also freely distributable.
|
||||
|
||||
The IJG distribution formerly included code to read and write GIF files.
|
||||
To avoid entanglement with the Unisys LZW patent, GIF reading support has
|
||||
been removed altogether, and the GIF writer has been simplified to produce
|
||||
"uncompressed GIFs". This technique does not use the LZW algorithm; the
|
||||
resulting GIF files are larger than usual, but are readable by all standard
|
||||
GIF decoders.
|
||||
|
||||
We are required to state that
|
||||
"The Graphics Interchange Format(c) is the Copyright property of
|
||||
CompuServe Incorporated. GIF(sm) is a Service Mark property of
|
||||
CompuServe Incorporated."
|
||||
@@ -0,0 +1,30 @@
|
||||
From bf7be1f0e2f9c6758e0f5f4f5ae2c21dc4e3ab12 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Fri, 16 Mar 2018 18:34:16 +0100
|
||||
Subject: Basi Haiku arch support
|
||||
|
||||
|
||||
diff --git a/acinclude.m4 b/acinclude.m4
|
||||
index 113169f..fce8884 100644
|
||||
--- a/acinclude.m4
|
||||
+++ b/acinclude.m4
|
||||
@@ -77,6 +77,16 @@ case "$host_os" in
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
+ haiku*)
|
||||
+ case "$host_cpu" in
|
||||
+ x86_64)
|
||||
+ objfmt='ELF64'
|
||||
+ ;;
|
||||
+ *)
|
||||
+ objfmt='ELF'
|
||||
+ ;;
|
||||
+ esac
|
||||
+ ;;
|
||||
*)
|
||||
objfmt='ELF ?'
|
||||
;;
|
||||
--
|
||||
2.16.2
|
||||
|
||||
Reference in New Issue
Block a user