recipes: Adjust 'docsdir' variable to be consistent with the current recipe format
[dragora.git] / recipes / x-libs / openexr / recipe
blobf4247424d11b0800b729fa47c34274ccfeb4cb65
1 # Build recipe for openexr.
3 # Copyright (c) 2021-2022 Matias Fonzo, <selk@dragora.org>.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 #    http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 # Exit immediately on any error
18 set -e
20 program=openexr
21 version=3.0.5
22 release=1
24 # Define a category for the output of the package name
25 pkgcategory=x-libs
27 tarname=${program}-${version}.tar.gz
29 # Remote source(s)
30 fetch=https://github.com/AcademySoftwareFoundation/openexr/archive/v${version}/$tarname
32 description="
33 Implementation of the EXR file format.
35 OpenEXR provides the specification and reference implementation of the
36 EXR file format, the professional-grade image storage format of the
37 motion picture industry.
39 The purpose of EXR format is to accurately and efficiently represent
40 high-dynamic-range scene-linear image data and associated metadata,
41 with strong support for multi-part, multi-channel use cases.
44 homepage=https://www.openexr.com
45 license="BSD 3-clause"
47 # Source documentation
48 docs="
49     CHANGES.md CODE_OF_CONDUCT.md CONTRIB* GOVERNANCE.md LICENSE.md PATENTS
50     README.md SECURITY.md
52 docsdir="${docdir}/${program}-${version}"
54 build()
56     unpack "${tardir}/$tarname"
58     cd "$srcdir"
60     # Set sane permissions
61     chmod -R u+w,go-w,a+rX-s .
63     rm -rf BUILD
64     mkdir BUILD
65     cd BUILD
67     cmake \
68      -DCMAKE_CXX_FLAGS_RELEASE:STRING="$QICXXFLAGS"   \
69      -DCMAKE_EXE_LINKER_FLAGS:STRING="$QILDFLAGS"     \
70      -DCMAKE_SHARED_LINKER_FLAGS:STRING="$QILDFLAGS"  \
71      -DCMAKE_INSTALL_PREFIX=/usr                      \
72      -DCMAKE_INSTALL_LIBDIR=/usr/lib${libSuffix}      \
73      -DCMAKE_INSTALL_MANDIR=$mandir                   \
74      -DCMAKE_INSTALL_DOCDIR=$docsdir                  \
75      -DCMAKE_BUILD_TYPE=Release                       \
76      -DCMAKE_VERBOSE_MAKEFILE=ON                      \
77      -DCMAKE_SKIP_INSTALL_RPATH=YES                   \
78      -G Ninja ..
80     ninja -j${jobs}
81     DESTDIR="$destdir" ninja -j${jobs} install
83     # Compress and link man pages (if needed)
84     if test -d "${destdir}/$mandir"
85     then
86         (
87             cd "${destdir}/$mandir"
88             find . -type f -exec lzip -9 {} +
89             find . -type l | while read -r file
90             do
91                 ln -sf "$(readlink -- "$file").lz" "${file}.lz"
92                 rm -- "$file"
93             done
94         )
95     fi
97     cd ..
99     # Copy documentation
100     mkdir -p "${destdir}/$docsdir"
101     cp -p $docs "${destdir}/$docsdir"