Сравнение постов
Различия между постами
#271640 (12.12.2023 22:48)
и
#274702 (23.05.2024 13:39).
1 | # Copyright 1999-2023 Gentoo Authors | |
2 | # Distributed under the terms of the GNU General Public License v2 | |
3 | ||
4 | EAPI=8 | |
5 | ||
6 | inherit cmake-multilib java-pkg-opt-2 | |
7 | ||
8 | DESCRIPTION="MMX, SSE, and SSE2 SIMD accelerated JPEG library" | |
1 | ||
2 | ||
3 | ||
4 | · Конструктивно ХН представляет собой металлический корпус, внутри которого расположен изолированный от корпуса нагревательный элемент https://rusupakten.ru/product/skp-1/ | |
5 | Корпус нагревательного элемента имеет различную ширину и диаметр https://rusupakten.ru/product/ekoc-250/ | |
6 | ||
7 | ||
8 | ||
9 | HOMEPAGE="https://libjpeg-turbo.org/ https://sourceforge.net/projects/libjpeg-turbo/" | |
10 | SRC_URI=" | |
11 | mirror://sourceforge/${PN}/${P}.tar.gz | |
12 | mirror://gentoo/libjpeg8_8d-2.debian.tar.gz | |
13 | " | |
14 | ||
15 | LICENSE="BSD IJG ZLIB" | |
16 | SLOT="0/0.2" | |
17 | if [[ $(ver_cut 3) -lt 90 ]] ; then | |
18 | KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos ~x64-solaris" | |
19 | fi | |
20 | IUSE="cpu_flags_arm_neon java static-libs" | |
21 | ||
22 | ASM_DEPEND="|| ( dev-lang/nasm dev-lang/yasm )" | |
23 | COMMON_DEPEND=" | |
24 | !media-libs/jpeg:0 | |
25 | !media-libs/jpeg:62 | |
26 | " | |
27 | DEPEND=" | |
28 | ${COMMON_DEPEND} | |
29 | java? ( >=virtual/jdk-1.8:*[-headless-awt] ) | |
30 | " | |
31 | RDEPEND=" | |
32 | ${COMMON_DEPEND} | |
33 | java? ( >=virtual/jre-1.8:* ) | |
34 | " | |
35 | BDEPEND=" | |
36 | amd64? ( ${ASM_DEPEND} ) | |
37 | x86? ( ${ASM_DEPEND} ) | |
38 | amd64-linux? ( ${ASM_DEPEND} ) | |
39 | x86-linux? ( ${ASM_DEPEND} ) | |
40 | x64-macos? ( ${ASM_DEPEND} ) | |
41 | " | |
42 | ||
43 | MULTILIB_WRAPPED_HEADERS=( /usr/include/jconfig.h ) | |
44 | ||
45 | src_prepare() { | |
46 | local FILE | |
47 | ln -snf ../debian/extra/*.c . || die | |
48 | ||
49 | for FILE in ../debian/extra/*.c; do | |
50 | FILE=${FILE##*/} | |
51 | cat >> CMakeLists.txt <<-EOF || die | |
52 | add_executable(${FILE%.c} ${FILE}) | |
53 | install(TARGETS ${FILE%.c}) | |
54 | EOF | |
55 | done | |
56 | ||
57 | cmake_src_prepare | |
58 | java-pkg-opt-2_src_prepare | |
59 | } | |
60 | ||
61 | multilib_src_configure() { | |
62 | if multilib_is_native_abi && use java ; then | |
63 | export JAVACFLAGS="$(java-pkg_javac-args)" | |
64 | export JNI_CFLAGS="$(java-pkg_get-jni-cflags)" | |
65 | fi | |
66 | ||
67 | local mycmakeargs=( | |
68 | -DCMAKE_INSTALL_DEFAULT_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" | |
69 | -DENABLE_STATIC="$(usex static-libs)" | |
70 | -DWITH_JAVA="$(multilib_native_usex java)" | |
71 | ) | |
72 | ||
73 | # Avoid ARM ABI issues by disabling SIMD for CPUs without NEON, bug #792810 | |
74 | if use arm || use arm64; then | |
75 | mycmakeargs+=( | |
76 | -DWITH_SIMD=$(usex cpu_flags_arm_neon) | |
77 | -DNEON_INTRINSICS=$(usex cpu_flags_arm_neon) | |
78 | ) | |
79 | fi | |
80 | ||
81 | # We should tell the test suite which floating-point flavor we are | |
82 | # expecting: https://github.com/libjpeg-turbo/libjpeg-turbo/issues/597 | |
83 | # For now, mark loong as fp-contract. | |
84 | if use loong; then | |
85 | mycmakeargs+=( | |
86 | -DFLOATTEST=fp-contract | |
87 | ) | |
88 | fi | |
89 | ||
90 | # Mostly for Prefix, ensure that we use our yasm if installed and | |
91 | # not pick up host-provided nasm | |
92 | if has_version -b dev-lang/yasm && ! has_version -b dev-lang/nasm; then | |
93 | mycmakeargs+=( | |
94 | -DCMAKE_ASM_NASM_COMPILER=$(type -P yasm) | |
95 | ) | |
96 | fi | |
97 | ||
98 | cmake_src_configure | |
99 | } | |
100 | ||
101 | multilib_src_install() { | |
102 | cmake_src_install | |
103 | ||
104 | if multilib_is_native_abi && use java ; then | |
105 | rm -rf "${ED}"/usr/classes || die | |
106 | java-pkg_dojar java/turbojpeg.jar | |
107 | fi | |
108 | } | |
109 | ||
110 | multilib_src_install_all() { | |
111 | find "${ED}" -type f -name '*.la' -delete || die | |
112 | ||
113 | local -a DOCS=( README.md ChangeLog.md ) | |
114 | einstalldocs | |
115 | ||
116 | newdoc "${WORKDIR}"/debian/changelog changelog.debian | |
117 | dobin "${WORKDIR}"/debian/extra/exifautotran | |
118 | doman "${WORKDIR}"/debian/extra/*.[0-9]* | |
119 | ||
120 | docinto html | |
121 | dodoc -r "${S}"/doc/html/. | |
122 | ||
123 | if use java; then | |
124 | docinto html/java | |
125 | dodoc -r "${S}"/java/doc/. | |
126 | newdoc "${S}"/java/README README.java | |
127 | fi |