PKGBUILD 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. # Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
  2. _pkgname=asm
  3. pkgname=java-${_pkgname}
  4. pkgver=5.0.4
  5. pkgrel=1.1
  6. pkgdesc="An all purpose Java bytecode manipulation and analysis framework"
  7. arch=('any')
  8. url="http://asm.ow2.org/"
  9. license=('BSD')
  10. depends=('java-runtime')
  11. makedepends=('apache-ant' 'java-ow-util-ant-tasks' 'jh')
  12. provides=("${pkgname}4")
  13. replaces=("${pkgname}4")
  14. source=("https://download.forge.ow2.org/${_pkgname}/${_pkgname}-${pkgver}.tar.gz"
  15. "https://anonscm.debian.org/cgit/pkg-java/lib${_pkgname}4-java.git/plain/debian/osgi/${_pkgname}-all.osgi"
  16. "https://anonscm.debian.org/cgit/pkg-java/lib${_pkgname}4-java.git/plain/debian/osgi/${_pkgname}-analysis.osgi"
  17. "https://anonscm.debian.org/cgit/pkg-java/lib${_pkgname}4-java.git/plain/debian/osgi/${_pkgname}-commons.osgi"
  18. "https://anonscm.debian.org/cgit/pkg-java/lib${_pkgname}4-java.git/plain/debian/osgi/${_pkgname}-debug-all.osgi"
  19. "https://anonscm.debian.org/cgit/pkg-java/lib${_pkgname}4-java.git/plain/debian/osgi/${_pkgname}-tree.osgi"
  20. "https://anonscm.debian.org/cgit/pkg-java/lib${_pkgname}4-java.git/plain/debian/osgi/${_pkgname}-util.osgi"
  21. "https://anonscm.debian.org/cgit/pkg-java/lib${_pkgname}4-java.git/plain/debian/osgi/${_pkgname}-xml.osgi"
  22. "https://anonscm.debian.org/cgit/pkg-java/lib${_pkgname}4-java.git/plain/debian/osgi/${_pkgname}.osgi"
  23. "java-asm-remove_bnd.patch"
  24. "java-asm-rm_sigtest.patch")
  25. md5sums=('bc328e4336a4fc30636b395b7f8081f3'
  26. 'e9642186799f0b84a566fdf5f7fa3316'
  27. '482e376fdab1748bd6752f393d06785c'
  28. 'd1106e99bd3cd95276de3e2486c52ca8'
  29. 'a2628c0dcf771135d2d6df89d0adcc34'
  30. '2181f546ffd31355fb2b4edb4ff1e041'
  31. '713b3705dd6ae1ca85e739c090fe61a6'
  32. '40df5b93d559f9adf0dbdd4b42906b09'
  33. 'b98f5fbd36e71efdaa5989fe683214cc'
  34. 'c3518a026924311bf9b626dc83ccdc74'
  35. '19f97cfd07a888271a13b22b3aea05b6')
  36. _ow_util_ant_tasks='/usr/share/java/ow_util_ant_tasks.jar'
  37. prepare() {
  38. cd "${srcdir}/${_pkgname}-${pkgver}"
  39. rm -v examples/jasmin/test/jasmin.jar
  40. cp -v ../{asm,asm-{all,analysis,commons,debug-all,tree,util,xml}}.osgi archive
  41. patch -Np1 -i "${srcdir}/java-asm-remove_bnd.patch"
  42. patch -Np1 -i "${srcdir}/java-asm-rm_sigtest.patch"
  43. }
  44. build() {
  45. cd "${srcdir}/${_pkgname}-${pkgver}"
  46. echo "objectweb.ant.tasks.path ${_ow_util_ant_tasks}" >> build.properties
  47. ant dist
  48. }
  49. package() {
  50. cd "${srcdir}/${_pkgname}-${pkgver}"
  51. # Install license file
  52. install -Dm644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"
  53. # Install documentation
  54. install -d "${pkgdir}/usr/share/doc/${pkgname}"
  55. cp -r output/dist/doc/javadoc/user "${pkgdir}/usr/share/doc/${pkgname}/javadoc"
  56. cp -r output/dist/examples "${pkgdir}/usr/share/doc/${pkgname}/examples"
  57. # Install Maven artifacts
  58. export DESTDIR=${pkgdir}
  59. for artifact in $(find "output/dist/lib" -name \*.pom | sed 's/\.\///' | sed 's/-[0-9.]*\.pom$//'); do
  60. # Set artifactId
  61. _artifact=${artifact##*/}
  62. # Set mvn-basename to different versions
  63. base=$(jh mvn-basename "org.ow2.asm" ${_artifact} ${pkgver})
  64. _base=${base//${pkgver}/4.x}
  65. install -d "${pkgdir}${_base%/*}"
  66. if [[ -f ${artifact}-${pkgver}.jar ]]; then
  67. # This artifact has a jar file
  68. jh mvn-install "org.ow2.asm" ${_artifact} ${pkgver} \
  69. "${artifact}-${pkgver}."{pom,jar} \
  70. "${_artifact}-4.jar"
  71. ln -s "/usr/share/java/${_artifact}-4.jar" \
  72. "${pkgdir}/usr/share/java/${_artifact}-${pkgver}.jar"
  73. # Jar symlink
  74. ln -s "${base}.jar" \
  75. "${pkgdir}${_base}.jar"
  76. else
  77. # This artifact is just a pom
  78. jh mvn-install "org.ow2.asm" ${_artifact} ${pkgver} \
  79. "${artifact}-${pkgver}.pom"
  80. fi
  81. # Pom symlink
  82. ln -s "${base}.pom" \
  83. "${pkgdir}${_base}.pom"
  84. done
  85. }