| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 1.6.10 | 8 | ~amd64 |
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MAVEN_ID="org.jetbrains.kotlin:${PN}:${PV}"
KOTLIN_LIBS_BINJAR_SRC_URI="https://repo1.maven.org/maven2/org/jetbrains/kotlin/${PN}/${PV}/${P}.jar"
KOTLIN_LIBS_SRCJAR_SRC_URI="https://repo1.maven.org/maven2/org/jetbrains/kotlin/${PN}/${PV}/${P}-sources.jar"
KOTLIN_CORE_DEPS_MODULE_NAME="kotlin-reflection"
KOTLIN_LIBS_RUNTIME_COMPONENT="Main"
inherit kotlin-core-deps
DESCRIPTION="Kotlin Full Reflection Library"
KEYWORDS="~amd64"
# JAR built by this ebuild contains extra directories:
# - kotlin/reflect/jvm/internal/impl/container
RESTRICT="test"
BDEPEND="
!binary? (
app-arch/unzip
)
"
CP_DEPEND="
~dev-java/kotlin-stdlib-${PV}:${SLOT}
"
DEPEND="
!binary? (
${CP_DEPEND}
~dev-java/kotlin-annotations-jvm-${PV}:${SLOT}
~dev-java/kotlin-core-compiler-common-${PV}:${SLOT}
~dev-java/kotlin-core-compiler-common-jvm-${PV}:${SLOT}
~dev-java/kotlin-core-descriptors-${PV}:${SLOT}
~dev-java/kotlin-core-descriptors-jvm-${PV}:${SLOT}
~dev-java/kotlin-core-descriptors-runtime-${PV}:${SLOT}
~dev-java/kotlin-core-deserialization-${PV}:${SLOT}
~dev-java/kotlin-core-deserialization-common-${PV}:${SLOT}
~dev-java/kotlin-core-deserialization-common-jvm-${PV}:${SLOT}
~dev-java/kotlin-core-metadata-${PV}:${SLOT}
~dev-java/kotlin-core-metadata-jvm-${PV}:${SLOT}
~dev-java/kotlin-core-util-runtime-${PV}:${SLOT}
dev-java/javax-inject:0
dev-java/jetbrains-annotations:13
>=dev-java/kotlin-protobuf-lite-2.6.1:0
)
"
RDEPEND="${CP_DEPEND}"
JAVA_CLASSPATH_EXTRA="
kotlin-annotations-jvm-${SLOT}
javax-inject
jetbrains-annotations-13
kotlin-protobuf-lite
kotlin-core-compiler-common-${SLOT}
kotlin-core-compiler-common-jvm-${SLOT}
kotlin-core-descriptors-${SLOT}
kotlin-core-descriptors-jvm-${SLOT}
kotlin-core-descriptors-runtime-${SLOT}
kotlin-core-deserialization-${SLOT}
kotlin-core-deserialization-common-${SLOT}
kotlin-core-deserialization-common-jvm-${SLOT}
kotlin-core-metadata-${SLOT}
kotlin-core-metadata-jvm-${SLOT}
kotlin-core-util-runtime-${SLOT}
"
JAVA_BINJAR_FILENAME="${P}.jar"
KOTLIN_LIBS_SRCJAR_FILENAME="${P}-sources.jar"
JAVA_RESOURCE_DIRS=( core/reflection.jvm/resources )
KOTLIN_KOTLINC_ARGS=(
-jvm-target 1.6
-no-stdlib
-Xallow-kotlin-package
-Xallow-no-source-files
-Xno-kotlin-nothing-value-exception
-Xno-optimized-callable-references
-Xopt-in=kotlin.RequiresOptIn
-Xsuppress-deprecated-jvm-target-warning
)
KOTLIN_JAVA_SOURCE_ROOTS=( core/reflection.jvm/src )
KOTLIN_SRC_DIR=( core/reflection.jvm/src )
pkg_setup() {
kotlin-libs_pkg_setup
# Some Java SE API members used by this package are deprecated
# on Java 11+, so deprecation warnings are expected
if [[ "$(java-config -g PROVIDES_VERSION)" == 1.8 ]]; then
KOTLIN_KOTLINC_ARGS+=( -Werror )
fi
}
src_unpack() {
kotlin-libs_src_unpack
if ! in_iuse binary || ! use binary; then
# Unpack JARs whose contents should be bundled within this package
unpack "$(java-pkg_getjar --build-only \
kotlin-protobuf-lite "kotlin-protobuf-lite.jar")"
local pkgs_to_unpack=(
kotlin-core-compiler-common
kotlin-core-compiler-common-jvm
kotlin-core-descriptors
kotlin-core-descriptors-jvm
kotlin-core-descriptors-runtime
kotlin-core-deserialization
kotlin-core-deserialization-common
kotlin-core-deserialization-common-jvm
kotlin-core-metadata
kotlin-core-metadata-jvm
kotlin-core-util-runtime
)
for pkg in "${pkgs_to_unpack[@]}"; do
unpack "$(java-pkg_getjar --build-only \
"${pkg}-${SLOT}" "${pkg}.jar")"
done
# Directories not in the binary JAR from the upstream
local rm_dirs=(
kotlin/reflect/jvm/internal/impl/contracts
kotlin/reflect/jvm/internal/impl/descriptors/synthetic
kotlin/reflect/jvm/internal/impl/jvm
kotlin/reflect/jvm/internal/impl/metadata/jvm/serialization
kotlin/reflect/jvm/internal/impl/metadata/serialization
kotlin/reflect/jvm/internal/impl/resolve/checkers
kotlin/reflect/jvm/internal/impl/resolve/scopes/synthetic
kotlin/reflect/jvm/internal/impl/utils/addToStdlib
)
rm -r "${rm_dirs[@]}" || die "Failed to remove extraneous classes"
mkdir -p "${S}/${KOTLIN_UTILS_CLASSES}" || \
die "Failed to create target directory for compiler output"
mv kotlin META-INF "${S}/${KOTLIN_UTILS_CLASSES}" || \
die "Failed to move core components to target directory"
fi
}
!binary? (
~dev-java/kotlin-stdlib-1.6.10:${SLOT}
~dev-java/kotlin-annotations-jvm-1.6.10:${SLOT}
~dev-java/kotlin-core-compiler-common-1.6.10:${SLOT}
~dev-java/kotlin-core-compiler-common-jvm-1.6.10:${SLOT}
~dev-java/kotlin-core-descriptors-1.6.10:${SLOT}
~dev-java/kotlin-core-descriptors-jvm-1.6.10:${SLOT}
~dev-java/kotlin-core-descriptors-runtime-1.6.10:${SLOT}
~dev-java/kotlin-core-deserialization-1.6.10:${SLOT}
~dev-java/kotlin-core-deserialization-common-1.6.10:${SLOT}
~dev-java/kotlin-core-deserialization-common-jvm-1.6.10:${SLOT}
~dev-java/kotlin-core-metadata-1.6.10:${SLOT}
~dev-java/kotlin-core-metadata-jvm-1.6.10:${SLOT}
~dev-java/kotlin-core-util-runtime-1.6.10:${SLOT}
dev-java/javax-inject:0
dev-java/jetbrains-annotations:13
>=dev-java/kotlin-protobuf-lite-2.6.1:0
)
~dev-java/kotlin-stdlib-1.6.10:${SLOT}
!binary? ( app-arch/unzip )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | kotlin-reflect-1.6.10.jar | 3038560 bytes | https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.6.10/kotlin-reflect-1.6.10.jar |