blob: 28351067c2d850a0437bc32bcccbac46f8afd91b (
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# Maintainer: William Gathoye <william at gathoye dot be>
# Contributor:
pkgname=progit2-git
pkgver=2.0.0.r689.g5026c45
pkgrel=2
pkgdesc="The offline version of the entire Pro Git book, written by Scott Chacon and Ben Straub"
arch=('any')
url="https://github.com/progit/progit2"
license=('CCPL:by-nc-sa')
makedepends=(
'git'
'ruby-bundler'
'ruby'
'python2'
)
provides=('progit2')
conflicts=('progit2')
install=${pkgname}.install
source=('git+https://github.com/progit/progit2')
sha512sums=('SKIP')
# Get the most recent un-annotated tag reachable from the last commit
pkgver() {
cd "${pkgname%-git}"
git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
cd "${pkgname%-git}"
# Gem dependencies can be installed per user and not systemwide in
# /home/<your username>/.gem/ruby/<ruby version>/, but we won't be able to
# clean that directory after having build the book, leaving unused
# dependencies. -> Dirty
# export GEM_HOME=$(ruby -e 'print Gem.user_dir')
# Gem dependencies can be installed as an Arch Linux package which is
# created by tools like gem2arch or pacgem. However, what will happen if
# package wearing the same name as those installed by these tools appear in
# the Arch repos? As conflict checks are not performed by these tools, we
# highly risk package names clashes. -> Too dangerous.
# Gem dependencies can also be installed in the directory we specify, but
# the latter will be removed after we have build the book. The PKGBUILD
# will have to redownload again all these deps if the user wants to update
# his book. Even if this is quite heavy, this is the cleaner approach we
# have.
bundle install --path .bundle
# Override the directory
export GEM_HOME=".bundle"
bundle install
}
build() {
# When entering here, we are in the src directory, go in the cloned progit2
# directory.
cd "${pkgname%-git}"
bundle exec rake book:build
}
package() {
# When entering here, we are in the src directory, go in the cloned progit2
# directory.
cd "${pkgname%-git}"
# Install to /usr/share/doc/progit2
install -dm755 "$pkgdir/usr/share/doc/${pkgname%-git}/"
cp "$srcdir/${pkgname%-git}/progit.epub" "$pkgdir/usr/share/doc/${pkgname%-git}/"
cp "$srcdir/${pkgname%-git}/progit-kf8.epub" "$pkgdir/usr/share/doc/${pkgname%-git}/"
cp "$srcdir/${pkgname%-git}/progit.mobi" "$pkgdir/usr/share/doc/${pkgname%-git}/"
cp "$srcdir/${pkgname%-git}/progit.pdf" "$pkgdir/usr/share/doc/${pkgname%-git}/"
cp "$srcdir/${pkgname%-git}/progit.pdfmarks" "$pkgdir/usr/share/doc/${pkgname%-git}/"
cp "$srcdir/${pkgname%-git}/progit.html" "$pkgdir/usr/share/doc/${pkgname%-git}/"
cp -a "$srcdir/${pkgname%-git}/images" "$pkgdir/usr/share/doc/${pkgname%-git}/"
}
|