summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: e4c0bef911abec9278069eccc06b24ebe7b4a529 (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
# $Id: PKGBUILD 153111 2015-12-12 09:19:10Z fyan $
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Michael Schubert <mschu.dev at gmail>
# Contributor: Di "thc_flow" Abel <nospam@weedsmoker.im>

pkgname=ironpython
pkgver=2.7.5
pkgrel=3
pkgdesc="Python implementation for the .NET framework"
arch=("any")
url="http://ironpython.net"
license=("Apache")
depends=('mono')
source=("https://github.com/IronLanguages/main/archive/ipy-$pkgver.zip")
md5sums=('85951a4125fb733cdeaced19f3ff7157')

prepare() {
  cd "$srcdir/main-ipy-$pkgver"

  # Workaround errors during Stage
  # https://github.com/IronLanguages/main/issues/1156
  # TODO: make this less ugly...
  mv Languages/IronPython/Public/License.{R,r}tf

  mkdir -p bin/{Silverlight5Release/DLLs,v45Release/DLLs,v2Release/DLLs}
  touch \
    bin/Silverlight5Release/Microsoft.{Dynamic,Scripting}.{xml,dll} \
    bin/Silverlight5Release/Microsoft.Scripting.Silverlight.dll \
    bin/Silverlight5Release/IronPython{,.Modules}.{xml,dll} \
    bin/Silverlight5Release/DLLs/IronPython.SQLite.{xml,dll} \
    bin/v45Release/Microsoft.{Dynamic,Scripting}.{xml,dll} \
    bin/v45Release/Microsoft.Scripting.{Metadata,AspNet}.{xml,dll} \
    bin/v45Release/IronPython{,.Modules}.{xml,dll} \
    bin/v45Release/DLLs/IronPython.SQLite.{xml,dll} \
    bin/v2Release/Microsoft.{Dynamic,Scripting}.{xml,dll} \
    bin/v2Release/Microsoft.Scripting.{Metadata,AspNet,Core}.{xml,dll} \
    bin/v2Release/IronPython{,.Modules}.{xml,dll} \
    bin/v2Release/DLLs/IronPython.SQLite.{xml,dll}
}

build() {
  cd "$srcdir/main-ipy-$pkgver"
  xbuild /t:Stage '/p:BaseConfiguration=Release;Mono=true' /verbosity:minimal /nologo
}

check() {
  cd "$srcdir/main-ipy-$pkgver"
  # Not really runable now
  # make test-ipy
}

package() {
  cd "$srcdir/main-ipy-$pkgver"
  install -d "$pkgdir"/usr/{lib,bin}

  rm -r Stage/Release/IronPython-$pkgver/{Silverlight,Platforms}
  cp -r Stage/Release/IronPython-$pkgver "$pkgdir/usr/lib/ipy"

  for bin in ipy ipy64 ipyw ipyw64; do
    echo -e "#!/bin/sh\nmono /usr/lib/ipy/$bin.exe \$*" > "$pkgdir/usr/bin/$bin"
    chmod +x "$pkgdir/usr/bin/$bin"
  done
}