summaryrefslogtreecommitdiff
path: root/libre/ruby/PKGBUILD
blob: 11cb2d7c13eccb961e157405b5f6599e3a832682 (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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# Maintainer (Arch): Thomas Dziedzic <gostrc@gmail.com>
# Contributor (Arch): Allan McRae <allan@archlinux.org>
# Contributor (Arch): John Proctor <jproctor@prium.net>
# Contributor (Arch): Jeramy Rutley <jrutley@gmail.com>
# Maintainer: Daniel Milewski <niitotantei@riseup.net>
# Contributor: André Silva <emulatorman@parabola.nu>
# Maintainer: fauno <fauno@parabola.nu>

pkgname=(ruby ruby-docs)
pkgver=2.4.1
_jsonver=1.8.1
pkgrel=3.parabola1
arch=(i686 x86_64 armv7h)
url='http://www.ruby-lang.org/en/'
license=(custom:BSDL custom:Ruby)
makedepends=(gdbm openssl libffi doxygen graphviz libyaml ttf-dejavu tk)
options=(!emptydirs)
mksource=(https://cache.ruby-lang.org/pub/ruby/${pkgver:0:3}/ruby-${pkgver}.tar.xz
          https://github.com/flori/json/archive/v${_jsonver}.tar.gz
          remove-nonfree-json-references.patch
          remove-nonfree-ruby-references.patch
          json-${_jsonver}.gem)
source=(https://repo.parabola.nu/other/ruby-libre/ruby-libre-${pkgver}.tar.xz
        gemrc)
mksha512sums=('e6fd290b6edd166348b70f0f1c56f7ed9d956c4c1eb91d97d0548041ca4196b9b75ec1ad35c745bdbfd4de195899093e7205d7f02b014ecf1c48e6f31cf25903'
              '58906415c3f9a573950fe9c0606f808c8b9b1198ac08cd995fbec03ab1e315a5cff504245958a303dabf0e0fb3466abfd35f3c3b536161f805f1abccc9f5ccb6'
              '3e3e2d48522fea84855e5305e08e7f8cc2ec7a2643c8882bc0a260c821ccdb16e70590d7ceec916d0d09297486b3c5bb6a1b4b31f670ec4ede72a429255db317'
              'fbb204bfbd1866b03f6e57b4d260fa8a62de9391d340ba081e8bf017b25f848b229ae54bedc2d4adff78e0195da400319aa3bf42716f1e67135895d436e7bdae'
              '59ce07837a3e522f0afdeee7084ef159dde8dce881060895f20c0efb9795f2b2675695671a0ebf93609d860a1d13bbf381fb101084f2ea07de06a058ecb75b7f')
sha512sums=('d6db642c8091ce40300591b9eb82d58558b58465f20adc34dbed43f0c462122b17087640c47af2ee7c566c7b0407c39a4100606aaad45849b7d3d767adeff8f2'
            '8cafd14d414ee3c16aa94f79072bc6c100262f925dc1300e785846c3fabbbbffc1356b8e2223af5684e3340c55032d41231179ffa948bb12e01dbae0f4131911')

mksource() {
  rm -rv ruby-${pkgver}/ext/json
  rm -rv ruby-${pkgver}/test/json
  rm -rv json-${_jsonver}/ext

  cd ruby-${pkgver}

  install -D -m644 ${srcdir}/json-${_jsonver}.gem gems

  patch -Np1 -i ${srcdir}/remove-nonfree-ruby-references.patch

  # extract the gem.  if it isn't extract like the other bundled gems,
  # the gem dir will be created with u-w permissions for some reason.
  install -d -m 755 gems/json-${_jsonver}
  cd gems/json-${_jsonver}
  bsdtar xqOf ../json-${_jsonver}.gem data.tar.gz \
  | bsdtar xvzf -

  cd ${srcdir}/json-${_jsonver}

  patch -Np1 -i ${srcdir}/remove-nonfree-json-references.patch
}

build() {
  cd ruby-${pkgver}

  PKG_CONFIG=/usr/bin/pkg-config ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --sharedstatedir=/var/lib \
    --libexecdir=/usr/lib/ruby \
    --enable-shared \
    --disable-rpath \
    --with-dbm-type=gdbm_compat

  make
}

check() {
  cd ruby-${pkgver}

  make test
}

package_ruby() {
  pkgdesc='An object-oriented language for quick and easy programming, with free variant of json gem'
  depends=(gdbm openssl libffi libyaml gmp zlib)
  optdepends=(
      'ruby-docs: Ruby documentation'
      'tk: for Ruby/TK'
  )
  provides=(rubygems rake)
  conflicts=(rake)
  backup=(etc/gemrc)
  install=ruby.install

  cd ruby-${pkgver}

  make DESTDIR="${pkgdir}" install-nodoc

  install -D -m644 ${srcdir}/gemrc "${pkgdir}/etc/gemrc"

  install -D -m644 COPYING "${pkgdir}/usr/share/licenses/ruby/LICENSE"
  install -D -m644 BSDL "${pkgdir}/usr/share/licenses/ruby/BSDL"
}

package_ruby-docs() {
  pkgdesc='Documentation files for ruby'

  cd ruby-${pkgver}

  make DESTDIR="${pkgdir}" install-doc install-capi

  install -D -m644 COPYING "${pkgdir}/usr/share/licenses/ruby-docs/LICENSE"
  install -D -m644 BSDL "${pkgdir}/usr/share/licenses/ruby-docs/BSDL"
}