summaryrefslogtreecommitdiff
path: root/pcr/protobuf-java/PKGBUILD
blob: b4f283774aa812ff6adf9a53b287655687b18476 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>

_libname=protobuf
pkgname=${_libname}-java
pkgver=2.6.1
pkgrel=1
pkgdesc="Google's data interchange format utility (java API)."
url="http://code.google.com/p/protobuf/"
license=('custom:BSD')
arch=('any')
depends=('java-runtime')
makedepends=('java-environment' 'jh' "${_libname}>=${pkgver}")
conflicts=('google-gson')
replaces=('google-gson')
source=("https://github.com/google/${_libname}/releases/download/v${pkgver}/${_libname}-${pkgver}.tar.gz"
        'protobuf-java.patch')
sha256sums=('dbbd7bdd2381633995404de65a945ff1a7610b0da14593051b4738c90c6dd164'
            '60a83c90dc00c819c6614791956aa2957e1d6245fc51a38840416e8506ea1dfc')

prepare() {
  cd "${srcdir}/${_libname}-${pkgver}"
  patch -Np1 -i "${srcdir}/protobuf-java.patch"

  cd java
  mkdir -p build/classes
}

build() {
  cd "${srcdir}/${_libname}-${pkgver}/java"

  protoc --java_out=src/main/java -I../src \
          ../src/google/protobuf/descriptor.proto

  javac -cp . -d "build/classes" \
    $(find "src/main/java" -name \*.java)

  javadoc -d "build/javadoc" \
    -sourcepath "src/main/java" -subpackages com

  jar -cvf "${_libname}.jar" -C "build/classes" .
}

package() {
  cd "${srcdir}/${_libname}-${pkgver}/java"

  # Install license file
  install -Dm644 ../LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"

  # Install documentation
  install -d "${pkgdir}/usr/share/doc/${pkgname}"
  cp -r "build/javadoc" "${pkgdir}/usr/share/doc/${pkgname}"

  # Install Maven artifacts
  export DESTDIR=${pkgdir}
  jh mvn-install "com.google.${_libname}" "${_libname}-java" ${pkgver} \
    pom.xml \
    "${_libname}.jar" \
    "${_libname}-${pkgver}.jar"

  ln -s "/usr/share/java/${_libname}-${pkgver}.jar" \
    "${pkgdir}/usr/share/java/${_libname}.jar"
}