PKGBUILD 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. # Contributor: Thomas Laroche <tho.laroche@gmail.com>
  2. # Maintainer: Thomas Fanninger <thomas@fanninger.at>
  3. pkgname=gogs-git-dev
  4. _pkgname=gogs
  5. _branch=develop
  6. pkgver=2959.379629d
  7. pkgrel=3
  8. epoch=1
  9. pkgdesc="Gogs(Go Git Service) is a Self Hosted Git Service in the Go Programming Language. This is the current git version from branch ${_branch}."
  10. arch=('i686' 'x86_64' 'armv6h' 'armv7h')
  11. url="http://gogs.io/"
  12. license=('MIT')
  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.2' 'git>=1.7.1' 'patch')
  22. conflicts=('gogs-bin' 'gogs' 'gogs-git')
  23. options=('!strip' '!emptydirs')
  24. backup=('srv/gogs/conf/app.ini')
  25. install=gogs.install
  26. _gourl=github.com/gogits/$_pkgname
  27. source=('gogs.service'
  28. 'app.ini.patch'
  29. 'helper.sh'
  30. "$_pkgname::git+https://${_gourl}.git#branch=${_branch}")
  31. sha512sums=(c7abbe4af438a8a1db44537a16dbd40b82d50c921d53002c083071c4cd16644769e9d5dabbccedc1bd4ba563324186da4b4378365e098cc45df76402a657be90
  32. eb55c8cec68d81b0283a361188af5f54ed6bcd775ee57b63a910657f8365b7e7b200c382b9ce55570ca9021d803d6e9228400ece512963439a8e830e12418131
  33. e746dbdafc4c8d0b15a224dba95ae3151611ba9ff468ee6f0b1789e489955e4d7eaac0dbdf28a22e5b8211559af5950726f4a37d699a2490fd349f034401028c
  34. 'SKIP')
  35. _goroot="/usr/lib/go"
  36. pkgver(){
  37. cd "$srcdir/$_pkgname"
  38. echo $(git rev-list --count HEAD).$(git rev-parse --short HEAD)
  39. }
  40. prepare() {
  41. source $srcdir/helper.sh
  42. export GOROOT=/usr/lib/go
  43. msg2 "Prepare GO build enviroment"
  44. rm -rf build
  45. mkdir -p build/go
  46. cd build/go
  47. for f in "$GOROOT/"*; do
  48. ln -s "$f"
  49. done
  50. rm pkg
  51. mkdir pkg
  52. cd pkg
  53. for f in "$GOROOT/pkg/"*; do
  54. ln -s "$f"
  55. done
  56. export GOROOT="$srcdir/build/go"
  57. export GOPATH="$srcdir/build"
  58. mkdir -p "$GOPATH/src/github.com/gogits"
  59. mv "$srcdir/$_pkgname" $GOPATH/src/${_gourl}
  60. msg2 "Check and download dependencies from .gopmfile"
  61. get_gopm "$GOPATH/src/${_gourl}/.gopmfile" "$GOPATH/src"
  62. msg2 "Download missing dependencies"
  63. # go_get github.com/macaron-contrib/oauth2 "$GOPATH/src/github.com/macaron-contrib/oauth2"
  64. msg2 "Workaround dependencies"
  65. cd "$GOPATH/src/github.com/gogits/go-gogs-client/"
  66. git checkout -q master
  67. # Execute patch
  68. msg2 "Execute patches"
  69. patch -Np1 -i "$srcdir/app.ini.patch" "$GOPATH/src/${_gourl}/conf/app.ini"
  70. }
  71. build() {
  72. cd $GOPATH/src/${_gourl}
  73. msg2 "Build program"
  74. go fix
  75. go build -x -tags='sqlite redis memcache'
  76. }
  77. package() {
  78. install -Dm0755 "$srcdir/build/src/${_gourl}/$_pkgname" "$pkgdir/usr/share/$_pkgname/$_pkgname"
  79. cp -r "$srcdir/build/src/${_gourl}/conf" "$pkgdir/usr/share/$_pkgname"
  80. mkdir -p "$pkgdir/usr/share/themes/gogs/default/"
  81. cp -r "$srcdir/build/src/${_gourl}/public" "$pkgdir/usr/share/themes/gogs/default"
  82. cp -r "$srcdir/build/src/${_gourl}/templates" "$pkgdir/usr/share/themes/gogs/default"
  83. install -Dm0644 "$pkgdir/usr/share/$_pkgname/conf/app.ini" "$pkgdir/srv/$_pkgname/conf/app.ini"
  84. install -Dm0644 "$srcdir/gogs.service" "$pkgdir/usr/lib/systemd/system/gogs.service"
  85. install -Dm0644 "$srcdir/build/src/${_gourl}/LICENSE" "$pkgdir/usr/share/licenses/$_pkgname"
  86. }