PKGBUILD 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. # Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
  2. _libname=avalon-framework
  3. pkgname=java-${_libname}
  4. pkgver=4.2.0
  5. pkgrel=7.parabola1
  6. pkgdesc="Reusable components for J2SE applications."
  7. arch=('any')
  8. url="http://excalibur.apache.org/"
  9. license=('APACHE')
  10. depends=('java-runtime')
  11. makedepends=('java-environment' 'java-avalon-logkit' 'jh' 'log4j-1.2')
  12. source=("https://archive.apache.org/dist/excalibur/${_libname}/source/${_libname}-${pkgver}-src.tar.gz"
  13. "https://repo.maven.apache.org/maven2/${_libname}/${_libname}-api/${pkgver}/${_libname}-api-${pkgver}.pom"
  14. "https://repo.maven.apache.org/maven2/${_libname}/${_libname}-impl/${pkgver}/${_libname}-impl-${pkgver}.pom"
  15. 'avalon-framework-rename_enum.patch')
  16. md5sums=('fd42e4ed9d9cd7a4d2e7fca7ab8e847f'
  17. '7dd8406e2fda8ec924f094761b4695de'
  18. '1ae6d40afceecb706838ca4eb3157776'
  19. '577de617b81a6d73f2f19c543af99922')
  20. prepare() {
  21. cd "${srcdir}/${_libname}"
  22. patch -Np1 -i "${srcdir}/avalon-framework-rename_enum.patch"
  23. mkdir -p build/classes
  24. mkdir -p build/classes/{api,impl,all}
  25. }
  26. build() {
  27. cd "${srcdir}/${_libname}"
  28. CLASSPATH="/usr/share/java/avalon-logkit.jar:/usr/share/java/log4j-1.2.jar"
  29. javac -cp $CLASSPATH -d "build/classes/api" \
  30. $(find "api/src/java" -name \*.java)
  31. javac -cp "$CLASSPATH:build/classes/api" -d "build/classes/impl" \
  32. $(find "impl/src/java" -name \*.java)
  33. javac -cp $CLASSPATH -d "build/classes/all" \
  34. $(find "api/src/java" "impl/src/java" -name \*.java)
  35. javadoc -classpath $CLASSPATH -d "build/javadoc" \
  36. -sourcepath "api/src/java" -subpackages org
  37. jar -cvf "${_libname}-api.jar" -C "build/classes/api" .
  38. jar -cvf "${_libname}-impl.jar" -C "build/classes/impl" .
  39. jar -cvf "${_libname}.jar" -C "build/classes/all" .
  40. }
  41. package() {
  42. cd "${srcdir}/${_libname}"
  43. # Install license file
  44. install -Dm644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"
  45. # Install documentation
  46. install -d "${pkgdir}/usr/share/doc/${pkgname}"
  47. cp -r "build/javadoc" "${pkgdir}/usr/share/doc/${pkgname}"
  48. # Install Maven artifacts
  49. artifacts=("${_libname}-api" "${_libname}-impl")
  50. export DESTDIR=${pkgdir}
  51. for artifact in "${artifacts[@]}"; do
  52. jh mvn-install ${_libname} ${artifact} ${pkgver} \
  53. "${srcdir}/${artifact}-${pkgver}.pom" \
  54. "${artifact}.jar" \
  55. "${artifact}-${pkgver}.jar"
  56. ln -s "/usr/share/java/${artifact}-${pkgver}.jar" \
  57. "${pkgdir}/usr/share/java/${artifact}.jar"
  58. done
  59. install -Dm644 "${_libname}.jar" "${pkgdir}/usr/share/java/${_libname}/${_libname}.jar"
  60. }