summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnatol Pomozov2017-10-21 21:23:26 -0700
committerAnatol Pomozov2017-10-21 21:23:26 -0700
commitc497e9ac35c431f6715d0578103abd718d2e6e93 (patch)
tree0eaa5c52cf46fba44465054beb2a5f83c53600ef
parentb110539452fbdede380527566b6ce06a0f068302 (diff)
downloadaur-c497e9ac35c431f6715d0578103abd718d2e6e93.tar.gz
Try to mimic jiri build system
-rw-r--r--PKGBUILD53
-rwxr-xr-xparse_manifest.rb39
2 files changed, 83 insertions, 9 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 97b47c03dd4b..dd2badfd7d53 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com>
pkgname=jiri-git
-pkgver=r1252
+pkgver=r1331
pkgrel=1
pkgdesc='A tool for multi-repo development similar to Android repo'
arch=(i686 x86_64)
@@ -9,8 +9,22 @@ url='https://fuchsia.googlesource.com/jiri'
license=(MIT)
depends=(libgit2)
makedepends=(git go)
-source=(git+https://fuchsia.googlesource.com/jiri)
-sha1sums=('SKIP')
+source=(
+ git+https://fuchsia.googlesource.com/jiri
+ git+https://fuchsia.googlesource.com/third_party/git2go
+ git+https://fuchsia.googlesource.com/third_party/boringssl#commit=438229a8d724058cb4de1af6814204f03ce734ed
+ git+https://fuchsia.googlesource.com/third_party/curl#commit=280e8c6e371ebd0f2e0a907e016ab44d6c9549af
+ git+https://fuchsia.googlesource.com/third_party/libssh2#commit=615210a03ecf36e1c55ffb7101d53e5c231c2f43
+ git+https://fuchsia.googlesource.com/third_party/libgit2#commit=25a4b97b1bd0b5316deb77866756a3db772e08a2
+ git+https://fuchsia.googlesource.com/third_party/zlib#commit=871bb1c83c0a4cc180c66ac89b14cb08675bef0d
+)
+sha1sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP')
pkgver() {
cd jiri
@@ -20,17 +34,38 @@ pkgver() {
prepare() {
cd jiri
- mkdir -p build
- mkdir -p .gopath/src/fuchsia.googlesource.com/
- ln -sf "$PWD" .gopath/src/fuchsia.googlesource.com/jiri
- export GOPATH="$PWD/.gopath"
+ sed -i 's/\bpython\b/python2/' scripts/build.sh
+ # script sets GOPATH to fuchsia wide location, we do not have it
+ sed -i 's/export GOPATH=.*//' scripts/build.sh
+ mkdir -p go
- go get -d github.com/libgit2/git2go
+ mkdir -p go/src/fuchsia.googlesource.com
+ rm -rf go/src/fuchsia.googlesource.com/jiri
+ ln -sfT $srcdir/jiri go/src/fuchsia.googlesource.com/jiri
+ mkdir -p go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2
+ rm -rf go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go
+ ln -sfT $srcdir/git2go go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go
+ mkdir -p go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor
+ rm -rf go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/boringssl
+ ln -sfT $srcdir/boringssl go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/boringssl
+ mkdir -p go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor
+ rm -rf go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/curl
+ ln -sfT $srcdir/curl go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/curl
+ mkdir -p go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor
+ rm -rf go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libssh2
+ ln -sfT $srcdir/libssh2 go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libssh2
+ mkdir -p go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor
+ rm -rf go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2
+ ln -sfT $srcdir/libgit2 go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2
+ mkdir -p go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor
+ rm -rf go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/zlib
+ ln -sfT $srcdir/zlib go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/zlib
}
build() {
cd jiri
- go build -o build/jiri fuchsia.googlesource.com/jiri/cmd/jiri # -gccgoflags "$CFLAGS $LDFLAGS"
+
+ GOPATH=`pwd`/go ./scripts/build.sh
}
package() {
diff --git a/parse_manifest.rb b/parse_manifest.rb
new file mode 100755
index 000000000000..539a1de96023
--- /dev/null
+++ b/parse_manifest.rb
@@ -0,0 +1,39 @@
+#!/usr/bin/ruby
+
+# Jiri build system uses jiri to checkout its dependencies :(
+# https://fuchsia.googlesource.com/manifest/+/refs/heads/master/jiri
+# to avoid this chicken-egg problem we parse the manifest and generate
+# the dependencies that easy to use in the PKGBUILD file
+
+require 'open-uri'
+require 'xmlsimple'
+
+deps = []
+
+doc = XmlSimple.xml_in(open('https://raw.githubusercontent.com/fuchsia-mirror/manifest/master/jiri'))
+for pr in doc['projects'][0]['project'] do
+ name = pr['name']
+ remote = pr['remote']
+ rev = pr['revision']
+ path = pr['path']
+
+ url = "git+#{remote}"
+ url += "#commit=#{rev}" if rev
+
+ deps << [url, remote, path]
+end
+
+
+puts "Sources:"
+for d in deps do
+ puts " #{d[0]}"
+end
+
+puts "Prepare:"
+for d in deps do
+ url, remote, path = *d
+
+ puts " mkdir -p #{File.dirname(path)}"
+ puts " rm -rf #{path}"
+ puts " ln -sfT $srcdir/#{File.basename(remote)} #{path}"
+end