PKGBUILD 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. # Contributor: Thomas Laroche <tho.laroche@gmail.com>
  2. # Maintainer: Thomas Fanninger <thomas@fanninger.at>
  3. pkgname=gogs
  4. _pkgname=${pkgname}
  5. pkgver=0.6.5
  6. pkgrel=5
  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. depends=('git>=1.7.1')
  13. optdepends=('sqlite: SQLite support'
  14. 'mariadb: MariaDB support'
  15. 'postgresql: PostgreSQL support'
  16. 'redis: Redis support'
  17. 'memcached: MemCached support'
  18. 'openssh: GIT over SSH support')
  19. makedepends=('go>=1.2' 'git>=1.7.1' 'patch')
  20. conflicts=('gogs-bin' 'gogs' 'gogs-git')
  21. options=('!strip' '!emptydirs')
  22. backup=('srv/gogs/conf/app.ini')
  23. install=gogs.install
  24. _gourl=github.com/gogits/$_pkgname
  25. source=('gogs.service'
  26. 'app.ini.patch'
  27. 'helper.sh'
  28. "$_pkgname::git+https://${_gourl}.git#tag=v${pkgver}")
  29. sha512sums=(2b4303f850e3b13b2fc3c9f0bc5820dae431d228002b35f01be0d4bfbcf05de8dcec2a559a85e318b609e4a4d492d44306eadf5f6508fd72333b198661bb0bb7
  30. 939be9ad851ae6e20b786e2e189b0b67c0198edfc8c83442934ec48c7be073e03c75172e79f23a6ee1e0eb467c6fa18096a66d69d1142ebba28fdc8bb2a3964c
  31. e746dbdafc4c8d0b15a224dba95ae3151611ba9ff468ee6f0b1789e489955e4d7eaac0dbdf28a22e5b8211559af5950726f4a37d699a2490fd349f034401028c
  32. 'SKIP')
  33. _goroot="/usr/lib/go"
  34. prepare() {
  35. source $srcdir/helper.sh
  36. export GOROOT=/usr/lib/go
  37. msg2 "Prepare GO build enviroment"
  38. rm -rf build
  39. mkdir -p build/go
  40. cd build/go
  41. for f in "$GOROOT/"*; do
  42. ln -s "$f"
  43. done
  44. rm pkg
  45. mkdir pkg
  46. cd pkg
  47. for f in "$GOROOT/pkg/"*; do
  48. ln -s "$f"
  49. done
  50. export GOROOT="$srcdir/build/go"
  51. export GOPATH="$srcdir/build"
  52. mkdir -p "$GOPATH/src/github.com/gogits"
  53. mv "$srcdir/$_pkgname" $GOPATH/src/${_gourl}
  54. msg2 "Check and download dependencies from .gopmfile"
  55. get_gopm "$GOPATH/src/${_gourl}/.gopmfile" "$GOPATH/src"
  56. msg2 "Download missing dependencies"
  57. go_get github.com/shurcooL/sanitized_anchor_name "$GOPATH/src/github.com/shurcooL/sanitized_anchor_name"
  58. # msg2 "Workaround dependencies"
  59. # cd "$GOPATH/src/github.com/gogits/go-gogs-client/"
  60. # git checkout -q master
  61. # Execute patch
  62. msg2 "Execute patches"
  63. patch -Np1 -i "$srcdir/app.ini.patch" "$GOPATH/src/${_gourl}/conf/app.ini"
  64. }
  65. build() {
  66. cd $GOPATH/src/${_gourl}
  67. msg2 "Build program"
  68. go fix
  69. go build -x -tags='sqlite redis memcache'
  70. }
  71. package() {
  72. install -Dm0755 "$srcdir/build/src/${_gourl}/$_pkgname" "$pkgdir/usr/share/$_pkgname/$_pkgname"
  73. cp -r "$srcdir/build/src/${_gourl}/conf" "$pkgdir/usr/share/$_pkgname"
  74. mkdir -p "$pkgdir/usr/share/themes/gogs/default/"
  75. cp -r "$srcdir/build/src/${_gourl}/public" "$pkgdir/usr/share/themes/gogs/default"
  76. cp -r "$srcdir/build/src/${_gourl}/templates" "$pkgdir/usr/share/themes/gogs/default"
  77. install -Dm0644 "$pkgdir/usr/share/$_pkgname/conf/app.ini" "$pkgdir/srv/$_pkgname/conf/app.ini"
  78. install -Dm0644 "$srcdir/gogs.service" "$pkgdir/usr/lib/systemd/system/gogs.service"
  79. install -Dm0644 "$srcdir/build/src/${_gourl}/LICENSE" "$pkgdir/usr/share/licenses/$_pkgname"
  80. }