You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.9 KiB
100 lines
2.9 KiB
# Copyright 1999-2022 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
|
|
JAVA_PKG_IUSE="source"
|
|
|
|
inherit java-pkg-2 java-pkg-simple
|
|
|
|
MY_A="apache-${P}-src"
|
|
MY_P="${MY_A/-servlet-api/}"
|
|
DESCRIPTION="Tomcat's Servlet API 3.1/JSP API 2.3/EL API 3.0 implementation"
|
|
HOMEPAGE="https://tomcat.apache.org/"
|
|
SRC_URI="mirror://apache/tomcat/tomcat-8/v${PV}/src/${MY_P}.tar.gz"
|
|
|
|
LICENSE="Apache-2.0"
|
|
SLOT="3.1"
|
|
KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
|
|
IUSE=""
|
|
|
|
DEPEND=">=virtual/jdk-1.8:*"
|
|
RDEPEND=">=virtual/jre-1.8:*"
|
|
|
|
S="${WORKDIR}/${MY_P}/"
|
|
|
|
JAVA_TEST_SRC_DIR="src/test"
|
|
|
|
SERVLET_API_JAR="servlet-api.jar"
|
|
SERVLET_API_SRC="src/main/servlet-api"
|
|
SERVLET_API_RESOURCES="src/resources/servlet-api"
|
|
EL_API_JAR="el-api.jar"
|
|
EL_API_SRC="src/main/el-api"
|
|
EL_API_RESOURCES="src/resources/el-api"
|
|
JSP_API_JAR="jsp-api.jar"
|
|
JSP_API_SRC="src/main/jsp-api"
|
|
JSP_API_RESOURCES="src/resources/jsp-api"
|
|
|
|
src_prepare() {
|
|
default
|
|
|
|
# The sources and also resources are mixed together so we first give it a structure to make it easier to compila and package
|
|
|
|
mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
|
|
${EL_API_SRC} ${EL_API_RESOURCES} \
|
|
${JSP_API_SRC}/javax/servlet ${JSP_API_RESOURCES} \
|
|
${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
|
|
|
|
pushd java || die "Failed to cd to java dir"
|
|
|
|
cp --parents -R javax/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
|
|
mv "${S}/${SERVLET_API_SRC}/javax/servlet/jsp" "${S}/${JSP_API_SRC}/javax/servlet" || die "Failed to copy jsp-api sources"
|
|
cp --parents -R javax/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
|
|
|
|
popd
|
|
|
|
for file in $(find src -type f | grep -vE "\.java$"); do
|
|
target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
|
|
mkdir -p ${target_dir} || die "Failed to create resource directory"
|
|
mv $file ${target_dir} || die "Failed to move resource file"
|
|
done
|
|
|
|
mv test/javax ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
|
|
|
|
java-pkg-2_src_prepare
|
|
}
|
|
|
|
src_compile() {
|
|
JAVA_SRC_DIR="${SERVLET_API_SRC}"
|
|
JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
|
|
JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
|
|
java-pkg-simple_src_compile
|
|
rm -fr target || die "Failed to remove compiled files"
|
|
|
|
JAVA_SRC_DIR="${EL_API_SRC}"
|
|
JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
|
|
JAVA_JAR_FILENAME="${EL_API_JAR}"
|
|
java-pkg-simple_src_compile
|
|
rm -fr target || die "Failed to remove compiled files"
|
|
|
|
JAVA_SRC_DIR="${JSP_API_SRC}"
|
|
JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
|
|
JAVA_JAR_FILENAME="${JSP_API_JAR}"
|
|
JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
|
|
java-pkg-simple_src_compile
|
|
}
|
|
|
|
src_install() {
|
|
JAVA_SRC_DIR="${SERVLET_API_SRC}"
|
|
JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
|
|
java-pkg-simple_src_install
|
|
|
|
JAVA_SRC_DIR="${EL_API_SRC}"
|
|
JAVA_JAR_FILENAME="${EL_API_JAR}"
|
|
java-pkg-simple_src_install
|
|
|
|
JAVA_SRC_DIR="${JSP_API_SRC}"
|
|
JAVA_JAR_FILENAME="${JSP_API_JAR}"
|
|
java-pkg-simple_src_install
|
|
}
|