summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Beste2017-06-04 18:52:19 -0500
committerDan Beste2017-06-04 18:52:19 -0500
commit2d12254534976d17a2ca1766ca6b13c40390aabd (patch)
tree41a492efdf03ab3d3c8cac1f76cf13f7d0bb3674
parentec3d724d8f2a43cb8e8ce9170cc426ea8e561b35 (diff)
downloadaur-2d12254534976d17a2ca1766ca6b13c40390aabd.tar.gz
PKGBUILD enhancements
-rw-r--r--.SRCINFO5
-rw-r--r--.gitignore2
-rw-r--r--PKGBUILD72
-rw-r--r--mono.install7
4 files changed, 58 insertions, 28 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b5a2470e61d2..68ff1394c169 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,9 @@
pkgbase = mono-git
pkgdesc = Free implementation of the .NET platform including runtime and compiler
- pkgver = 3.2.3.r17752.g077582d3f90
+ pkgver = r111557.ed9fb93c62f
pkgrel = 1
url = http://www.mono-project.com/
+ install = mono.install
arch = i686
arch = x86_64
license = custom=MITX11
@@ -12,11 +13,11 @@ pkgbase = mono-git
license = LGPL2.1
license = MPL
makedepends = git
+ makedepends = mono
depends = ca-certificates
depends = libgdiplus
depends = python
depends = zlib
- optdepends = mono: Needed if bootstrapping fails
provides = mono
provides = monodoc
conflicts = mono
diff --git a/.gitignore b/.gitignore
index d7861c42ce37..3f129b40ac1d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,8 @@
*
# Whitelist
+!.gitignore
!mono.binfmt.d
+!mono.install
!PKGBUILD
!.SRCINFO
diff --git a/PKGBUILD b/PKGBUILD
index 8a27e4778edb..76f8c7074211 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,17 +4,17 @@
pkgname='mono-git'
_gitname='mono'
-pkgver=3.2.3.r17752.g077582d3f90
+pkgver=r111557.ed9fb93c62f
pkgrel=1
pkgdesc='Free implementation of the .NET platform including runtime and compiler'
url='http://www.mono-project.com/'
arch=('i686' 'x86_64')
license=('custom=MITX11' 'custom=MSPL' 'BSD' 'GPL' 'LGPL2.1' 'MPL')
depends=('ca-certificates' 'libgdiplus' 'python' 'zlib')
-makedepends=('git')
-optdepends=('mono: Needed if bootstrapping fails')
+makedepends=('git' 'mono')
provides=('mono' 'monodoc')
conflicts=('mono' 'monodoc')
+install="${_gitname}.install"
source=(
'git+https://github.com/mono/mono.git'
'git+https://github.com/mono/aspnetwebstack.git'
@@ -49,15 +49,17 @@ sha256sums=(
pkgver() {
cd "${_gitname}"
- git describe --long --tags \
- | sed 's/\([^-]*-g\)/r\1/;s/-/./g' \
- | sed 's/mono.//'
+ # Tags are 'broken' for now, use revisions since the beginning of
+ # history:
+ printf "r%s.%s" \
+ "$(git rev-list --count HEAD)" \
+ "$(git rev-parse --short HEAD)"
}
prepare() {
cd "${_gitname}"
- local externals=(
+ local submodules=(
'aspnetwebstack'
'Newtonsoft.Json'
'cecil'
@@ -79,19 +81,29 @@ prepare() {
'api-doc-tools' 'api-snapshot'
)
- for external in ""${externals[@]}""; do
- submodule="external/${external}"
+ for module in "${submodules[@]}"; do
+ local submodule="external/${module}"
git submodule init "${submodule}"
- git config "submodule.${submodule}.url" "${srcdir}/${external}"
+ git config "submodule.${submodule}.url" "${srcdir}/${module}"
git submodule update "${submodule}"
done
}
build() {
- cd "${_gitname}"
+ cd "${_gitname}"
+
+ # Default prefix is /usr/local/
+ # Default sysconfdir is /usr/local/etc/
+ # Default sbindir is /usr/local/sbin/
+ ./autogen.sh \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --with-mcs-docs=no
- ./autogen.sh --prefix=/usr
if ! hash mono; then
+ # If a working installation of mono is not found, attempt to
+ # bootstrap the project:
make get-monolite-latest
fi
make
@@ -102,23 +114,31 @@ build() {
}
package() {
- cd "${_gitname}"
+ install -D -m 644 \
+ "${srcdir}/mono.binfmt.d" \
+ "${pkgdir}/usr/lib/binfmt.d/mono.conf"
+
+ cd "${_gitname}"
make DESTDIR="${pkgdir}" install
- install -d -m 755 "${pkgdir}/usr/share/licenses/${_gitname}"
- install -D -m 644 "LICENSE" "${pkgdir}/usr/share/licenses/${_gitname}/"
+ install -D -m 644 \
+ "LICENSE" \
+ "${pkgdir}/usr/share/licenses/${_gitname}/LICENSE"
cd mcs/jay
- make DESTDIR="${pkgdir}" prefix=/usr install
-
- cd "${srcdir}"
-
- install -D -m 644 \
- "${srcdir}/mono.binfmt.d" \
- "${pkgdir}/usr/lib/binfmt.d/mono.conf"
-
- # Fix .pc file to be able to request mono on what it depends, fixes #go-oo
- # build
- sed -i -e "s:#Requires:Requires:" "${pkgdir}/usr/lib/pkgconfig/mono.pc"
+ make \
+ DESTDIR="${pkgdir}" \
+ prefix=/usr \
+ INSTALL=../../install-sh \
+ install
+
+ # Fix .pc file to be able to request mono on what it depends, fixes
+ # go-oo build:
+ sed -i -e \
+ "s:/2.0/:/4.5/:g" \
+ "${pkgdir}/usr/lib/pkgconfig/mono-nunit.pc"
+ sed -i -e \
+ "s:#Requires:Requires:" \
+ "${pkgdir}/usr/lib/pkgconfig/mono.pc"
}
diff --git a/mono.install b/mono.install
new file mode 100644
index 000000000000..cd0363b84a9f
--- /dev/null
+++ b/mono.install
@@ -0,0 +1,7 @@
+post_install() {
+ post_upgrade
+}
+
+post_upgrade() {
+ cert-sync /etc/ssl/certs/ca-certificates.crt
+}