Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37419630
en ru br
ALT Linux repositórios
S:2.4.15.0-alt1

Group :: Sistema/Bibliotecas
RPM: libopenimageio

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

%define _unpackaged_files_terminate_build 1
%define _stripped_files_terminate_build 1
%set_verify_elf_method strict

# TODO: dependency on Field3D


# TODO: build and run tests


%define oname openimageio
%define soname 2.4

Name:           lib%oname
Version:        2.4.15.0
Release:        alt1
Summary:        Library for reading and writing images
Group:          System/Libraries

License:        BSD-3-Clause and Apache-2.0
URL:            https://sites.google.com/site/openimageio/home

# https://github.com/OpenImageIO/oiio.git

Source0:        %name-%version.tar

# Images for test suite

#Source1:        oiio-images.tar.gz

Source2: %oname.watch

Patch1: %oname-alt-armh-disable-neon.patch
Patch2000: %oname-e2k.patch

BuildRequires(pre): rpm-build-python3
BuildRequires:  python3-devel
BuildRequires:  cmake gcc-c++
BuildRequires:  txt2man
BuildRequires:  qt6-base-devel
BuildRequires:  boost-devel boost-python3-devel boost-filesystem-devel boost-asio-devel
BuildRequires:  libGLEW-devel
BuildRequires:  openexr-devel imath-devel
BuildRequires:  libpng-devel libtiff-devel libjpeg-devel libopenjpeg2.0-devel
BuildRequires:  libgif-devel
BuildRequires:  libwebp-devel
BuildRequires:  libhdf5-devel
BuildRequires:  zlib-devel
BuildRequires:  libjasper-devel
BuildRequires:  libpugixml-devel
BuildRequires:  libraw-devel
BuildRequires:  librobin-map-devel
BuildRequires:  pybind11-devel
BuildRequires:  libsquish-devel
BuildRequires:  bzip2-devel
BuildRequires:  freetype2-devel
BuildRequires:  libfmt-devel
BuildRequires:  openvdb-devel
%ifnarch %e2k
BuildRequires:  libdcmtk-devel
%endif
BuildRequires:  libopencv-devel
BuildRequires: libavcodec-devel libavformat-devel libswscale-devel
BuildRequires: libheif-devel

# WARNING: OpenColorIO and OpenImageIO are cross dependent.

# If an ABI incompatible update is done in one, the other also needs to be
# rebuilt.
BuildRequires:  libopencolorio2.0-devel

%description
OpenImageIO is a library for reading and writing images, and a bunch of related
classes, utilities, and applications. Main features include:
- Extremely simple but powerful ImageInput and ImageOutput APIs for reading and
 writing 2D images that is format agnostic.
- Format plugins for TIFF, JPEG/JFIF, OpenEXR, PNG, HDR/RGBE, Targa, JPEG-2000,
 DPX, Cineon, FITS, BMP, ICO, RMan Zfile, Softimage PIC, DDS, SGI,
 PNM/PPM/PGM/PBM, Field3d.
- An ImageCache class that transparently manages a cache so that it can access
 truly vast amounts of image data.

%package -n lib%oname%soname
Summary:        Library for reading and writing images
Group:          System/Libraries

%description -n lib%oname%soname
OpenImageIO is a library for reading and writing images, and a bunch of related
classes, utilities, and applications. Main features include:
- Extremely simple but powerful ImageInput and ImageOutput APIs for reading and
 writing 2D images that is format agnostic.
- Format plugins for TIFF, JPEG/JFIF, OpenEXR, PNG, HDR/RGBE, Targa, JPEG-2000,
 DPX, Cineon, FITS, BMP, ICO, RMan Zfile, Softimage PIC, DDS, SGI,
 PNM/PPM/PGM/PBM, Field3d.
- An ImageCache class that transparently manages a cache so that it can access
 truly vast amounts of image data.

%package -n python3-module-%oname
Summary:        Python-3 bindings for %oname
Group:          Development/Python3
Requires:       lib%oname%soname = %EVR

%description -n python3-module-%oname
Python bindings for %oname.

%package -n %oname-utils
Summary:        Command line utilities for %oname
Group:          Other
Requires:       lib%oname%soname = %EVR
Conflicts:      libxforms-demos

%description -n %oname-utils
Command-line tools to manipulate and get information on images using the
%{name} library.


%package -n %oname-iv
Summary:        %oname based image viewer
Group:          Other
Requires:       lib%oname%soname = %EVR

%description -n %oname-iv
A really nice image viewer, iv, based on %oname classes (and so will work
with any formats for which plugins are available).


%package devel
Summary:        Documentation for %oname
Group:          Development/Other
Requires:       lib%oname%soname = %EVR
%ifnarch armh
Requires:       python3-module-%oname = %EVR
Requires:       %oname-utils = %EVR
Requires:       %oname-iv = %EVR
%endif
Requires:       libopencv-devel

%description devel
Development files for package %name


%prep
%setup
%ifarch armh
%patch1 -p1
%endif
%ifarch %e2k
%patch2000 -p1
# simplifies the patch
sed -i '/#if OIIO_SIMD_SSE >= 4/{N;/_mm_dp_ps/s/#if /&!defined(__e2k__) \&\& /}' \
src/include/OpenImageIO/simd.h
%endif

# Remove bundled pugixml

rm -fr src/include/OpenImageIO/detail/pugixml/

# Install test images

#rm -rf ../oiio-images && mkdir ../oiio-images && pushd ../oiio-images
#tar --strip-components=1 -xzf #{SOURCE1}

%build
%add_optflags -D_FILE_OFFSET_BITS=64

# disable debugging stuff

%add_optflags -DNDEBUG
%ifarch %e2k
%add_optflags -mno-sse4.2 -mno-avx
%endif

# set -DCMAKE_BUILD_TYPE=RelWithDebInfo to skip stripping debuginfo from python modules built via pybind11

%cmake \
-DINCLUDE_INSTALL_DIR:PATH=%_includedir/%oname \
-DPYTHON_VERSION=%_python3_version \
-DINSTALL_DOCS:BOOL=FALSE \
-DINSTALL_FONTS:BOOL=FALSE \
-DUSE_EXTERNAL_PUGIXML:BOOL=TRUE \
-DSTOP_ON_WARNING:BOOL=FALSE \
-DJPEG_INCLUDE_DIR=%_includedir \
-DOPENJPEG_INCLUDE_DIR=$(pkg-config --variable=includedir libopenjp2) \
-DOpenGL_GL_PREFERENCE=GLVND \
-DVERBOSE=TRUE \
-DOIIO_BUILD_TESTS:BOOL=FALSE \
-DPLUGIN_SEARCH_PATH=%_libdir/OpenImageIO-%soname \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DOIIO_USING_IMATH=3 \
%ifarch armh
-DBUILD_OIIOUTIL_ONLY:BOOL=TRUE \
-DBUILD_DOCS:BOOL=FALSE \
%else
-DBUILD_DOCS:BOOL=TRUE \
%endif
%nil

%cmake_build

%install
%cmake_install

%ifnarch armh
# Move man pages to the right directory
mkdir -p %buildroot%_man1dir
cp -a %_cmake__builddir/src/doc/*.1 %buildroot%_man1dir
%endif

mkdir -p %buildroot%_libdir/OpenImageIO-%soname

%files -n lib%oname%soname
%doc CHANGES.md README.md
%doc LICENSE.md THIRD-PARTY.md
%_libdir/libOpenImageIO_Util.so.%{soname}
%_libdir/libOpenImageIO_Util.so.%{soname}.*
%_libdir/OpenImageIO-%soname
%ifnarch armh
%_libdir/libOpenImageIO.so.%{soname}
%_libdir/libOpenImageIO.so.%{soname}.*

%files -n python3-module-%oname
%python3_sitelibdir/OpenImageIO

%files -n %oname-utils
%_bindir/*
%_man1dir/*.1*
%exclude %_bindir/iv
%exclude %_man1dir/iv.1*

%files -n %oname-iv
%_bindir/iv
%_man1dir/iv.1*
%endif

%files devel
%ifnarch armh
%_libdir/libOpenImageIO.so
%endif
%_libdir/libOpenImageIO_Util.so
%_includedir/*
%_libdir/pkgconfig/OpenImageIO.pc
%_libdir/cmake/*

%changelog

Todas as alterações você pod ver aqui

 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009