Make jpeg a virtual dependency. (#5190)
* Make jpeg a virtual dependency. * Make 'libjpeg-turbo' the default implementation of 'jpeg'.
This commit is contained in:
parent
49a9d63be7
commit
a48b5a627c
@ -34,3 +34,4 @@ packages:
|
|||||||
scalapack: [netlib-scalapack]
|
scalapack: [netlib-scalapack]
|
||||||
szip: [libszip, libaec]
|
szip: [libszip, libaec]
|
||||||
tbb: [intel-tbb]
|
tbb: [intel-tbb]
|
||||||
|
jpeg: [libjpeg-turbo, libjpeg]
|
||||||
|
34
var/spack/repos/builtin/packages/isaac-server/jpeg.patch
Normal file
34
var/spack/repos/builtin/packages/isaac-server/jpeg.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
diff --git a/server/src/Broker.cpp b/server/src/Broker.cpp
|
||||||
|
index 03d60f4..aab449f 100644
|
||||||
|
--- a/server/src/Broker.cpp
|
||||||
|
+++ b/server/src/Broker.cpp
|
||||||
|
@@ -108,14 +108,14 @@ MetaDataClient* Broker::addDataClient()
|
||||||
|
}
|
||||||
|
boolean isaac_jpeg_fill_input_buffer(j_decompress_ptr cinfo)
|
||||||
|
{
|
||||||
|
- return true;
|
||||||
|
+ return TRUE;
|
||||||
|
}
|
||||||
|
void isaac_jpeg_skip_input_data(j_decompress_ptr cinfo,long num_bytes)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
boolean isaac_jpeg_resync_to_restart(j_decompress_ptr cinfo, int desired)
|
||||||
|
{
|
||||||
|
- return true;
|
||||||
|
+ return TRUE;
|
||||||
|
}
|
||||||
|
void isaac_jpeg_term_source(j_decompress_ptr cinfo)
|
||||||
|
{
|
||||||
|
diff --git a/server/src/URIImageConnector.cpp b/server/src/URIImageConnector.cpp
|
||||||
|
index 0b11800..e843aa4 100644
|
||||||
|
--- a/server/src/URIImageConnector.cpp
|
||||||
|
+++ b/server/src/URIImageConnector.cpp
|
||||||
|
@@ -40,7 +40,7 @@ void isaac_init_destination(j_compress_ptr cinfo)
|
||||||
|
}
|
||||||
|
boolean isaac_jpeg_empty_output_buffer(j_compress_ptr cinfo)
|
||||||
|
{
|
||||||
|
- return true;
|
||||||
|
+ return TRUE;
|
||||||
|
}
|
||||||
|
void isaac_jpeg_term_destination(j_compress_ptr cinfo)
|
||||||
|
{
|
@ -42,10 +42,13 @@ class IsaacServer(CMakePackage):
|
|||||||
# 'Support for RTP streams, e.g. to Twitch or Youtube')
|
# 'Support for RTP streams, e.g. to Twitch or Youtube')
|
||||||
|
|
||||||
depends_on('cmake@3.3:', type='build')
|
depends_on('cmake@3.3:', type='build')
|
||||||
depends_on('libjpeg-turbo', type='link')
|
depends_on('jpeg', type='link')
|
||||||
depends_on('jansson', type='link')
|
depends_on('jansson', type='link')
|
||||||
depends_on('boost@1.56:', type='link')
|
depends_on('boost@1.56:', type='link')
|
||||||
depends_on('libwebsockets@2.1.1:', type='link')
|
depends_on('libwebsockets@2.1.1:', type='link')
|
||||||
# depends_on('gstreamer@1.0', when='+gstreamer')
|
# depends_on('gstreamer@1.0', when='+gstreamer')
|
||||||
|
|
||||||
|
# Until the pull request is merged: https://github.com/ComputationalRadiationPhysics/isaac/pull/70
|
||||||
|
patch('jpeg.patch')
|
||||||
|
|
||||||
root_cmakelists_dir = 'server'
|
root_cmakelists_dir = 'server'
|
||||||
|
@ -44,7 +44,7 @@ class Isaac(CMakePackage):
|
|||||||
# description='Generate kernels via Alpaka, for CPUs or GPUs')
|
# description='Generate kernels via Alpaka, for CPUs or GPUs')
|
||||||
|
|
||||||
depends_on('cmake@3.3:', type='build')
|
depends_on('cmake@3.3:', type='build')
|
||||||
depends_on('libjpeg-turbo', type='link')
|
depends_on('jpeg', type='link')
|
||||||
depends_on('jansson', type='link')
|
depends_on('jansson', type='link')
|
||||||
depends_on('boost@1.56:', type='link')
|
depends_on('boost@1.56:', type='link')
|
||||||
depends_on('cuda@7.0:', type='link', when='+cuda')
|
depends_on('cuda@7.0:', type='link', when='+cuda')
|
||||||
|
@ -38,7 +38,7 @@ class Jasper(AutotoolsPackage):
|
|||||||
variant('debug', default=False,
|
variant('debug', default=False,
|
||||||
description='Builds debug versions of the libraries')
|
description='Builds debug versions of the libraries')
|
||||||
|
|
||||||
depends_on('libjpeg-turbo')
|
depends_on('jpeg')
|
||||||
|
|
||||||
# Fixes a bug (still in upstream as of v.1.900.1) where an assertion fails
|
# Fixes a bug (still in upstream as of v.1.900.1) where an assertion fails
|
||||||
# when certain JPEG-2000 files with an alpha channel are processed
|
# when certain JPEG-2000 files with an alpha channel are processed
|
||||||
|
@ -37,6 +37,8 @@ class LibjpegTurbo(AutotoolsPackage):
|
|||||||
version('1.5.0', '3fc5d9b6a8bce96161659ae7a9939257')
|
version('1.5.0', '3fc5d9b6a8bce96161659ae7a9939257')
|
||||||
version('1.3.1', '2c3a68129dac443a72815ff5bb374b05')
|
version('1.3.1', '2c3a68129dac443a72815ff5bb374b05')
|
||||||
|
|
||||||
|
provides('jpeg')
|
||||||
|
|
||||||
# Can use either of these. But in the current version of the package
|
# Can use either of these. But in the current version of the package
|
||||||
# only nasm is used. In order to use yasm an environmental variable
|
# only nasm is used. In order to use yasm an environmental variable
|
||||||
# NASM must be set.
|
# NASM must be set.
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Jpeg(AutotoolsPackage):
|
class Libjpeg(AutotoolsPackage):
|
||||||
"""libjpeg is a widely used free library with functions for handling the
|
"""libjpeg is a widely used free library with functions for handling the
|
||||||
JPEG image data format. It implements a JPEG codec (encoding and decoding)
|
JPEG image data format. It implements a JPEG codec (encoding and decoding)
|
||||||
alongside various utilities for handling JPEG data."""
|
alongside various utilities for handling JPEG data."""
|
||||||
@ -35,3 +35,5 @@ class Jpeg(AutotoolsPackage):
|
|||||||
|
|
||||||
version('9b', '6a9996ce116ec5c52b4870dbcd6d3ddb')
|
version('9b', '6a9996ce116ec5c52b4870dbcd6d3ddb')
|
||||||
version('9a', '3353992aecaee1805ef4109aadd433e7')
|
version('9a', '3353992aecaee1805ef4109aadd433e7')
|
||||||
|
|
||||||
|
provides('jpeg')
|
@ -35,9 +35,6 @@ class Libtiff(AutotoolsPackage):
|
|||||||
version('4.0.6', 'd1d2e940dea0b5ad435f21f03d96dd72')
|
version('4.0.6', 'd1d2e940dea0b5ad435f21f03d96dd72')
|
||||||
version('4.0.3', '051c1068e6a0627f461948c365290410')
|
version('4.0.3', '051c1068e6a0627f461948c365290410')
|
||||||
|
|
||||||
variant('turbo', default=False, description='use libjpeg-turbo')
|
depends_on('jpeg')
|
||||||
|
|
||||||
depends_on('jpeg', when='-turbo')
|
|
||||||
depends_on('libjpeg-turbo', when='+turbo')
|
|
||||||
depends_on('zlib')
|
depends_on('zlib')
|
||||||
depends_on('xz')
|
depends_on('xz')
|
||||||
|
@ -80,8 +80,8 @@ class Opencv(CMakePackage):
|
|||||||
|
|
||||||
depends_on('zlib', when='+zlib')
|
depends_on('zlib', when='+zlib')
|
||||||
depends_on('libpng', when='+png')
|
depends_on('libpng', when='+png')
|
||||||
depends_on('libjpeg-turbo', when='+jpeg')
|
depends_on('jpeg', when='+jpeg')
|
||||||
depends_on('libtiff+turbo', when='+tiff')
|
depends_on('libtiff', when='+tiff')
|
||||||
|
|
||||||
depends_on('jasper', when='+jasper')
|
depends_on('jasper', when='+jasper')
|
||||||
depends_on('cuda', when='+cuda')
|
depends_on('cuda', when='+cuda')
|
||||||
@ -150,7 +150,7 @@ def cmake_args(self):
|
|||||||
])
|
])
|
||||||
|
|
||||||
if '+jpeg' in spec:
|
if '+jpeg' in spec:
|
||||||
libjpeg = spec['libjpeg-turbo']
|
libjpeg = spec['jpeg']
|
||||||
args.extend([
|
args.extend([
|
||||||
'-DBUILD_JPEG:BOOL=OFF',
|
'-DBUILD_JPEG:BOOL=OFF',
|
||||||
'-DJPEG_LIBRARY:FILEPATH={0}'.format(
|
'-DJPEG_LIBRARY:FILEPATH={0}'.format(
|
||||||
|
Loading…
Reference in New Issue
Block a user