Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/openjpeg/, media-libs/openjpeg/files/
Date: Sat, 03 Nov 2018 21:46:31
Message-Id: 1541280652.6c8b95f0ffa4570543e8c10e594584db64e1541a.asturm@gentoo
1 commit: 6c8b95f0ffa4570543e8c10e594584db64e1541a
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Sat Nov 3 21:04:02 2018 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Sat Nov 3 21:30:52 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c8b95f0
7
8 media-libs/openjpeg: Fix USE static-libs
9
10 Bug: https://bugs.gentoo.org/634144
11 Bug: https://bugs.gentoo.org/650322
12 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
13 Package-Manager: Portage-2.3.51, Repoman-2.3.11
14
15 .../openjpeg-2.3.0-fix-disable-static-libs.patch | 23 ++++
16 media-libs/openjpeg/openjpeg-2.3.0-r1.ebuild | 117 +++++++++++++++++++++
17 2 files changed, 140 insertions(+)
18
19 diff --git a/media-libs/openjpeg/files/openjpeg-2.3.0-fix-disable-static-libs.patch b/media-libs/openjpeg/files/openjpeg-2.3.0-fix-disable-static-libs.patch
20 new file mode 100644
21 index 00000000000..9e30f4694f3
22 --- /dev/null
23 +++ b/media-libs/openjpeg/files/openjpeg-2.3.0-fix-disable-static-libs.patch
24 @@ -0,0 +1,23 @@
25 +From 66297f07a43d2770a97c8456d20202f3d051d980 Mon Sep 17 00:00:00 2001
26 +From: Even Rouault <even.rouault@×××××××××.com>
27 +Date: Mon, 9 Oct 2017 11:40:43 +0200
28 +Subject: [PATCH] Unix build: fix regression of 2.3.0 where a shared-only or
29 + static-only build lacks the installation target for the library (#1019, fixes
30 + regression introduced by 3dfc6ca2bcf06fd1adb6b6b4cecc6c092f08ba0b)
31 +
32 +---
33 + src/lib/openjp2/CMakeLists.txt | 1 +
34 + 1 file changed, 1 insertion(+)
35 +
36 +diff --git a/src/lib/openjp2/CMakeLists.txt b/src/lib/openjp2/CMakeLists.txt
37 +index 0b4520384..f8990ccf0 100644
38 +--- a/src/lib/openjp2/CMakeLists.txt
39 ++++ b/src/lib/openjp2/CMakeLists.txt
40 +@@ -99,6 +99,7 @@ else()
41 + set(INSTALL_LIBS ${OPENJPEG_LIBRARY_NAME} openjp2_static)
42 + else()
43 + add_library(${OPENJPEG_LIBRARY_NAME} ${OPENJPEG_SRCS})
44 ++ set(INSTALL_LIBS ${OPENJPEG_LIBRARY_NAME})
45 + endif()
46 + endif()
47 +
48
49 diff --git a/media-libs/openjpeg/openjpeg-2.3.0-r1.ebuild b/media-libs/openjpeg/openjpeg-2.3.0-r1.ebuild
50 new file mode 100644
51 index 00000000000..d0f7f1e15ff
52 --- /dev/null
53 +++ b/media-libs/openjpeg/openjpeg-2.3.0-r1.ebuild
54 @@ -0,0 +1,117 @@
55 +# Copyright 1999-2018 Gentoo Authors
56 +# Distributed under the terms of the GNU General Public License v2
57 +
58 +EAPI=6
59 +
60 +inherit cmake-multilib
61 +
62 +# Make sure that test data are not newer than release;
63 +# otherwise we will see "Found-But-No-Test" test failures!
64 +MY_TESTDATA_COMMIT="c07f38fae1e67adc288c2d6679df5d3652017fbe"
65 +
66 +DESCRIPTION="Open-source JPEG 2000 library"
67 +HOMEPAGE="https://www.openjpeg.org"
68 +SRC_URI="https://github.com/uclouvain/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
69 + test? ( https://github.com/uclouvain/openjpeg-data/archive/${MY_TESTDATA_COMMIT}.tar.gz -> ${PN}-data_20170814.tar.gz )"
70 +
71 +LICENSE="BSD-2"
72 +SLOT="2/7" # based on SONAME
73 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
74 +IUSE="doc static-libs test"
75 +
76 +RDEPEND="
77 + media-libs/lcms:2
78 + media-libs/libpng:0=
79 + media-libs/tiff:0
80 + sys-libs/zlib"
81 +DEPEND="${RDEPEND}
82 + doc? ( app-doc/doxygen )"
83 +
84 +DOCS=( AUTHORS.md CHANGELOG.md NEWS.md README.md THANKS.md )
85 +
86 +PATCHES=(
87 + "${FILESDIR}/${P}-fix-disable-static-libs.patch" # bug 650322
88 +)
89 +
90 +src_prepare() {
91 + if use test; then
92 + mv "${WORKDIR}"/openjpeg-data-${MY_TESTDATA_COMMIT} "${WORKDIR}"/data ||
93 + die "Failed to rename test data"
94 + fi
95 +
96 + cmake-utils_src_prepare
97 +
98 + # Stop installing LICENSE file, and install CHANGES from DOCS instead:
99 + sed -i -e '/install.*FILES.*DESTINATION.*OPENJPEG_INSTALL_DOC_DIR/d' CMakeLists.txt || die
100 +
101 + # Install doxygen docs to the right directory:
102 + sed -i -e "s:DESTINATION\s*share/doc:\0/${PF}:" doc/CMakeLists.txt || die
103 +}
104 +
105 +multilib_src_configure() {
106 + local mycmakeargs=(
107 + -DOPENJPEG_INSTALL_LIB_DIR="$(get_libdir)"
108 + -DBUILD_TESTING="$(multilib_native_usex test)"
109 + -DBUILD_DOC=$(multilib_native_usex doc ON OFF)
110 + -DBUILD_CODEC=$(multilib_is_native_abi && echo ON || echo OFF)
111 + -DBUILD_STATIC_LIBS=$(usex static-libs)
112 + )
113 +
114 + cmake-utils_src_configure
115 +}
116 +
117 +multilib_src_test() {
118 + if ! multilib_is_native_abi ; then
119 + elog "Cannot run tests for non-multilib abi."
120 + return 0
121 + fi
122 +
123 + local myctestargs=
124 +
125 + pushd "${BUILD_DIR}" > /dev/null || die
126 + [[ -e CTestTestfile.cmake ]] || die "Test suite not available! Check source!"
127 +
128 + [[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure )
129 +
130 + echo ctest "${myctestargs[@]}" "$@"
131 + if ctest "${myctestargs[@]}" "$@" ; then
132 + einfo "Tests succeeded."
133 + popd > /dev/null || die
134 + return 0
135 + else
136 + echo ""
137 + einfo "Note: Upstream is maintaining a list of known test failures."
138 + einfo "We will now compare our test results against this list and sort out any known failure."
139 +
140 + local KNOWN_FAILURES_LIST="${S}/tools/travis-ci/knownfailures-all.txt"
141 + local FAILEDTEST_LOG="${BUILD_DIR}/Testing/Temporary/LastTestsFailed.log"
142 + local FAILURES_LOG="${BUILD_DIR}/Testing/Temporary/failures.txt"
143 + local FAILEDTEST=
144 + local HAS_UNKNOWN_TEST_FAILURES=0
145 + if [[ -f "${KNOWN_FAILURES_LIST}" && -f "${FAILEDTEST_LOG}" ]]; then
146 + # Logic copied from $S/tools/travis-ci/run.sh
147 +
148 + echo ""
149 +
150 + awk -F: '{ print $2 }' "${FAILEDTEST_LOG}" > "${FAILURES_LOG}"
151 + while read FAILEDTEST; do
152 + # Common errors
153 + if grep -x "${FAILEDTEST}" "${S}/tools/travis-ci/knownfailures-all.txt" > /dev/null; then
154 + ewarn "Test '${FAILEDTEST}' is known to fail, ignoring ..."
155 + continue
156 + fi
157 + eerror "New/unknown test failure found: '${FAILEDTEST}'"
158 + HAS_UNKNOWN_TEST_FAILURES=1
159 + done < "${FAILURES_LOG}"
160 +
161 + if [[ ${HAS_UNKNOWN_TEST_FAILURES} -ne 0 ]]; then
162 + die "Test suite failed. New/unknown test failure(s) found!"
163 + else
164 + echo ""
165 + einfo "Test suite passed. No new/unknown test failure(s) found!"
166 + fi
167 +
168 + return 0
169 + fi
170 + fi
171 +}