-
-
Notifications
You must be signed in to change notification settings - Fork 12.1k
/
openimageio.rb
96 lines (86 loc) 路 3.21 KB
/
openimageio.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
class Openimageio < Formula
desc "Library for reading, processing and writing images"
homepage "https://openimageio.readthedocs.io/en/stable/"
url "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.11.0.tar.gz"
sha256 "ebf1945e36679be55519d9f42a8f029c4a53d4efb4aaee3b10af6cdc93fb614b"
license "Apache-2.0"
head "https://github.com/AcademySoftwareFoundation/OpenImageIO.git", branch: "master"
livecheck do
url :stable
regex(/(?:Release[._-])?v?(\d+(?:\.\d+)+)/i)
strategy :github_latest
end
bottle do
sha256 cellar: :any, arm64_sonoma: "2d63e784a6e2868051f0d89283d332baf0c55bdfb8ff9fd13d43c10562125ea2"
sha256 cellar: :any, arm64_ventura: "193eb359d25f322dc6f7c8ad706b9496e42798a7c738d71680375fa2753f9928"
sha256 cellar: :any, arm64_monterey: "f90f0bac0829917b9553f32c67cf923204398b74d2d5f5e737c037dfd25fbed5"
sha256 cellar: :any, sonoma: "5ef462752f613f54fb19feb70fce426728a068aaa15d31945512562aef47a862"
sha256 cellar: :any, ventura: "c577d269cd25f11b785268dd17db8fa637afc01e8943bc98b8c626f879c31cc9"
sha256 cellar: :any, monterey: "bf691366d0ea84b6559404618eb4ba65ba9cf504e46f2e76cde68bdd12a8ee5b"
sha256 cellar: :any_skip_relocation, x86_64_linux: "f834e54ebf8316bc35df8cfe7255fe22671847bd5b7c954665785857a6a80009"
end
depends_on "cmake" => :build
depends_on "pkg-config" => :build
depends_on "boost"
depends_on "boost-python3"
depends_on "ffmpeg"
depends_on "fmt"
depends_on "freetype"
depends_on "giflib"
depends_on "imath"
depends_on "jpeg-turbo"
depends_on "libheif"
depends_on "libpng"
depends_on "libraw"
depends_on "libtiff"
depends_on "opencolorio"
depends_on "openexr"
depends_on "pugixml"
depends_on "pybind11"
depends_on "python@3.12"
depends_on "tbb"
depends_on "webp"
# https://github.com/AcademySoftwareFoundation/OpenImageIO/blob/master/INSTALL.md
fails_with :gcc do
version "5"
cause "Requires GCC 6.1 or later"
end
def python3
"python3.12"
end
def install
py3ver = Language::Python.major_minor_version python3
ENV["PYTHONPATH"] = prefix/Language::Python.site_packages(python3)
args = %W[
-DPython_EXECUTABLE=#{which(python3)}
-DPYTHON_VERSION=#{py3ver}
-DBUILD_MISSING_FMT=OFF
-DCCACHE_FOUND=
-DEMBEDPLUGINS=ON
-DOIIO_BUILD_TESTS=OFF
-DUSE_DCMTK=OFF
-DUSE_EXTERNAL_PUGIXML=ON
-DUSE_JPEGTURBO=ON
-DUSE_NUKE=OFF
-DUSE_OPENCV=OFF
-DUSE_OPENGL=OFF
-DUSE_OPENJPEG=OFF
-DUSE_PTEX=OFF
-DUSE_QT=OFF
]
system "cmake", "-S", ".", "-B", "build", *args, *std_cmake_args
system "cmake", "--build", "build"
system "cmake", "--install", "build"
end
test do
test_image = test_fixtures("test.jpg")
assert_match "#{test_image} : 1 x 1, 3 channel, uint8 jpeg",
shell_output("#{bin}/oiiotool --info #{test_image} 2>&1")
output = <<~EOS
from __future__ import print_function
import OpenImageIO
print(OpenImageIO.VERSION_STRING)
EOS
assert_match version.major_minor_patch.to_s, pipe_output(python3, output, 0)
end
end