PKGBUILD 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # Contributor: Thomas Laroche <tho.laroche@gmail.com>
  2. # Maintainer: Thomas Fanninger <thomas@fanninger.at>
  3. pkgname=gogs
  4. _pkgname=${pkgname}
  5. pkgver=0.9.13
  6. pkgrel=2
  7. epoch=1
  8. pkgdesc="Gogs(Go Git Service) is a Self Hosted Git Service in the Go Programming Language."
  9. arch=('i686' 'x86_64' 'armv6h' 'armv7h')
  10. url="http://gogs.io/"
  11. license=('MIT')
  12. provides=('gogs')
  13. depends=('git>=1.7.1')
  14. optdepends=('sqlite: SQLite support'
  15. 'mariadb: MariaDB support'
  16. 'postgresql: PostgreSQL support'
  17. 'redis: Redis support'
  18. 'memcached: MemCached support'
  19. 'openssh: GIT over SSH support'
  20. 'tidb-git: TiDB support')
  21. makedepends=('go>=1.4' 'git>=1.7.1' 'patch')
  22. makedepends_i686=('glide-bin')
  23. makedepends_x86_64=('glide-bin')
  24. makedepends_armv6h=('glide-git')
  25. makedepends_armv7h=('glide-git')
  26. conflicts=('gogs-bin' 'gogs-git' 'gogs-git-dev')
  27. options=('!strip' '!emptydirs')
  28. backup=('srv/gogs/conf/app.ini')
  29. install=gogs.install
  30. _gourl=github.com/gogits/$_pkgname
  31. source=('gogs.service.patch'
  32. 'app.ini.patch'
  33. "$_pkgname::git+https://${_gourl}.git#tag=v${pkgver}")
  34. sha512sums=(834e95fe9bcfa291a573ad1fa43f41bbed844658a918ff4fcf53ab8a44a296206ee4003eab1d9a2785c9126be077022f4907846d2eb6c5d64050b5e81ce47f44
  35. 77589148ac4afe09bb1b3f70491fa3b1838299f02216b2a24598f0f468356b2cfbaae397cc693e93f406e1c537d5ae24bc51530d9826879d201b72b19bee376c
  36. 'SKIP')
  37. _goroot="/usr/lib/go"
  38. prepare() {
  39. export GOROOT=/usr/lib/go
  40. msg2 "Prepare GO build enviroment"
  41. rm -rf build
  42. mkdir -p build/go
  43. cd build/go
  44. for f in "$GOROOT/"*; do
  45. ln -s "$f"
  46. done
  47. rm pkg
  48. mkdir pkg
  49. cd pkg
  50. for f in "$GOROOT/pkg/"*; do
  51. ln -s "$f"
  52. done
  53. export GOROOT="$srcdir/build/go"
  54. export GOPATH="$srcdir/build"
  55. mkdir -p "$GOPATH/src/github.com/gogits"
  56. mv "$srcdir/$_pkgname" $GOPATH/src/${_gourl}
  57. # Glide
  58. msg2 "Download dependencies via Glide"
  59. cd $GOPATH/src/${_gourl}
  60. glide install
  61. # Execute patch
  62. msg2 "Execute patches"
  63. patch -Np1 -i "$srcdir/app.ini.patch" "$GOPATH/src/${_gourl}/conf/app.ini"
  64. patch -Np1 -i "$srcdir/gogs.service.patch" "$GOPATH/src/${_gourl}/scripts/systemd/gogs.service"
  65. }
  66. build() {
  67. cd $GOPATH/src/${_gourl}
  68. msg2 "Build program"
  69. go fix
  70. go build -x -tags='sqlite pam cert'
  71. }
  72. package() {
  73. install -Dm0755 "$srcdir/build/src/${_gourl}/$_pkgname" "$pkgdir/usr/share/$_pkgname/$_pkgname"
  74. cp -r "$srcdir/build/src/${_gourl}/conf" "$pkgdir/usr/share/$_pkgname"
  75. mkdir -p "$pkgdir/usr/share/themes/gogs/default/"
  76. cp -r "$srcdir/build/src/${_gourl}/public" "$pkgdir/usr/share/themes/gogs/default"
  77. cp -r "$srcdir/build/src/${_gourl}/templates" "$pkgdir/usr/share/themes/gogs/default"
  78. install -Dm0644 "$pkgdir/usr/share/$_pkgname/conf/app.ini" "$pkgdir/srv/$_pkgname/conf/app.ini"
  79. install -Dm0644 "$srcdir/build/src/${_gourl}/scripts/systemd/gogs.service" "$pkgdir/usr/lib/systemd/system/gogs.service"
  80. install -Dm0644 "$srcdir/build/src/${_gourl}/LICENSE" "$pkgdir/usr/share/licenses/$_pkgname"
  81. }