From 48c2f23f8f148609353c5eb612c7d1fcc4d766e8 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Sun, 24 Dec 2023 16:45:39 +0000 Subject: [PATCH] added extra/opencolorio --- extra/opencolorio/.SRCINFO | 26 +++++++++++ extra/opencolorio/PKGBUILD | 49 ++++++++++++++++++++ extra/opencolorio/minizip-ng-4.patch | 69 ++++++++++++++++++++++++++++ extra/opencolorio/yaml-cpp-0.8.patch | 23 ++++++++++ 4 files changed, 167 insertions(+) create mode 100644 extra/opencolorio/.SRCINFO create mode 100644 extra/opencolorio/PKGBUILD create mode 100644 extra/opencolorio/minizip-ng-4.patch create mode 100644 extra/opencolorio/yaml-cpp-0.8.patch diff --git a/extra/opencolorio/.SRCINFO b/extra/opencolorio/.SRCINFO new file mode 100644 index 000000000..5b94e66f8 --- /dev/null +++ b/extra/opencolorio/.SRCINFO @@ -0,0 +1,26 @@ +pkgbase = opencolorio + pkgdesc = A color management framework for visual effects and animation + pkgver = 2.3.1 + pkgrel = 1 + url = https://opencolorio.org + arch = x86_64 + license = BSD + checkdepends = openimageio + makedepends = cmake + makedepends = python + makedepends = pybind11 + makedepends = ninja + depends = freeglut + depends = glew + depends = lcms2 + depends = tinyxml + depends = yaml-cpp + depends = imath + depends = pystring + depends = minizip-ng + depends = openexr + optdepends = python: python bindings + source = opencolorio-2.3.1.tar.gz::https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.3.1.tar.gz + sha512sums = a4951b530bc10737feea2dcc0143a595cb6a8f71ad0475ddefbb50606d5316fcdeddea93843c3d295ae5edbdbc3d5974f6524e715d7322a3061c702ca9a72c43 + +pkgname = opencolorio diff --git a/extra/opencolorio/PKGBUILD b/extra/opencolorio/PKGBUILD new file mode 100644 index 000000000..c22eaad7f --- /dev/null +++ b/extra/opencolorio/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Sven-Hendrik Haase +# Contributor: Dumitru Ursu + +# ALARM: Kevin Mihelich +# - added -fsigned-char to CXXFLAGS + +pkgname=opencolorio +pkgver=2.3.1 +pkgrel=1 +pkgdesc="A color management framework for visual effects and animation" +arch=('x86_64') +url="https://opencolorio.org" +license=('BSD') +depends=('freeglut' 'glew' 'lcms2' 'tinyxml' 'yaml-cpp' 'imath' 'pystring' 'minizip-ng' 'openexr') +makedepends=('cmake' 'python' 'pybind11' 'ninja') +checkdepends=('openimageio') +optdepends=('python: python bindings') +source=($pkgname-$pkgver.tar.gz::https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v$pkgver.tar.gz) +sha512sums=('a4951b530bc10737feea2dcc0143a595cb6a8f71ad0475ddefbb50606d5316fcdeddea93843c3d295ae5edbdbc3d5974f6524e715d7322a3061c702ca9a72c43') + +build() { + cd OpenColorIO-$pkgver + + CXXFLAGS+=" -ffat-lto-objects -fsigned-char" + cmake \ + -GNinja \ + -Bbuild \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_SKIP_INSTALL_RPATH=YES \ + -Wno-dev + ninja -C build +} + +check() { + cd OpenColorIO-$pkgver/build + + ctest -E test_gpu +} + +package() { + cd OpenColorIO-$pkgver + + DESTDIR="$pkgdir" ninja -C build install + install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE +} + +# vim:set ts=2 sw=2 et: diff --git a/extra/opencolorio/minizip-ng-4.patch b/extra/opencolorio/minizip-ng-4.patch new file mode 100644 index 000000000..079a19935 --- /dev/null +++ b/extra/opencolorio/minizip-ng-4.patch @@ -0,0 +1,69 @@ +diff --git a/src/OpenColorIO/OCIOZArchive.cpp b/src/OpenColorIO/OCIOZArchive.cpp +index 85fc7bb7..5b77685f 100644 +--- a/src/OpenColorIO/OCIOZArchive.cpp ++++ b/src/OpenColorIO/OCIOZArchive.cpp +@@ -225,7 +225,7 @@ void archiveConfig(std::ostream & ostream, const Config & config, const char * c + std::string configStr = ss.str(); + + // Write zip to memory stream. +- mz_stream_mem_create(&write_mem_stream); ++ write_mem_stream = mz_stream_mem_create(); + mz_stream_mem_set_grow_size(write_mem_stream, 128 * 1024); + mz_stream_open(write_mem_stream, NULL, MZ_OPEN_MODE_CREATE); + +@@ -237,7 +237,7 @@ void archiveConfig(std::ostream & ostream, const Config & config, const char * c + options.compress_level = ArchiveCompressionLevels::BEST; + + // Create the writer handle. +- mz_zip_writer_create(&archiver); ++ archiver = mz_zip_writer_create(); + + // Archive options. + // Compression method +@@ -332,7 +332,7 @@ void ExtractOCIOZArchive(const char * archivePath, const char * destination) + std::string outputDestination = pystring::os::path::normpath(destination); + + // Create zip reader. +- mz_zip_reader_create(&extracter); ++ extracter = mz_zip_reader_create(); + + MinizipNgHandlerGuard extracterGuard(extracter, false, false); + +@@ -450,7 +450,7 @@ std::vector getFileStringFromArchiveFile(const std::string & filepath, + std::vector buffer; + + // Create the reader object. +- mz_zip_reader_create(&reader); ++ reader = mz_zip_reader_create(); + + MinizipNgHandlerGuard extracterGuard(reader, false, true); + +@@ -510,7 +510,7 @@ void getEntriesMappingFromArchiveFile(const std::string & archivePath, + void *reader = NULL; + + // Create the reader object. +- mz_zip_reader_create(&reader); ++ reader = mz_zip_reader_create(); + + MinizipNgHandlerGuard extracterGuard(reader, false, false); + +@@ -630,4 +630,4 @@ void CIOPOciozArchive::buildEntries() + getEntriesMappingFromArchiveFile(m_archiveAbsPath, m_entries); + } + +-} // namespace OCIO_NAMESPACE +\ No newline at end of file ++} // namespace OCIO_NAMESPACE +diff --git a/src/apps/ocioarchive/main.cpp b/src/apps/ocioarchive/main.cpp +index 190cadee..93c622dc 100644 +--- a/src/apps/ocioarchive/main.cpp ++++ b/src/apps/ocioarchive/main.cpp +@@ -235,7 +235,7 @@ int main(int argc, const char **argv) + } + + std::string path = args[0]; +- mz_zip_reader_create(&reader); ++ reader = mz_zip_reader_create(); + struct tm tmu_date; + + err = mz_zip_reader_open_file(reader, path.c_str()); diff --git a/extra/opencolorio/yaml-cpp-0.8.patch b/extra/opencolorio/yaml-cpp-0.8.patch new file mode 100644 index 000000000..2331187b1 --- /dev/null +++ b/extra/opencolorio/yaml-cpp-0.8.patch @@ -0,0 +1,23 @@ +diff --git a/share/cmake/modules/Findyaml-cpp.cmake b/share/cmake/modules/Findyaml-cpp.cmake +index 59558ce6..c5e051ac 100644 +--- a/share/cmake/modules/Findyaml-cpp.cmake ++++ b/share/cmake/modules/Findyaml-cpp.cmake +@@ -42,10 +42,6 @@ if(NOT OCIO_INSTALL_EXT_PACKAGES STREQUAL ALL) + find_package(yaml-cpp ${yaml-cpp_FIND_VERSION} CONFIG QUIET) + endif() + +- if(yaml-cpp_FOUND) +- get_target_property(yaml-cpp_LIBRARY yaml-cpp LOCATION) +- else() +- + # As yaml-cpp-config.cmake search fails, search an installed library + # using yaml-cpp.pc . + +@@ -111,7 +107,6 @@ if(NOT OCIO_INSTALL_EXT_PACKAGES STREQUAL ALL) + if(PC_yaml-cpp_FOUND) + set(yaml-cpp_VERSION "${PC_yaml-cpp_VERSION}") + endif() +- endif() + + # Override REQUIRED if package can be installed + if(OCIO_INSTALL_EXT_PACKAGES STREQUAL MISSING)