Subject: [alpine-devel] [PATCH] testing/ocaml: new aport

From: Borys Zhukov <[email-masked]>
Date: Thu, 12 Apr 2012 02:53:10 +0000

---
 testing/ocaml/APKBUILD |   51 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 testing/ocaml/APKBUILD

diff --git a/testing/ocaml/APKBUILD b/testing/ocaml/APKBUILD
new file mode 100644
index 0000000..42c837f
--- /dev/null
+++ b/testing/ocaml/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Borys Zhukov <[email-masked]>
+# Maintainer: Borys Zhukov <[email-masked]>
+pkgname=ocaml
+pkgver=3.12.1
+pkgrel=0
+pkgdesc="Main implementation of the Caml programming language"
+url="http://caml.inria.fr"
+arch="all"
+license="QPL/GPLv2"
+depends="gdbm"
+depends_dev="ncurses"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://caml.inria.fr/pub/distrib/ocaml-3.12/$pkgname-$pkgver.tar.gz
+	"
+
+_builddir="$srcdir/$pkgname-$pkgver"
+prepare() {
+	local i
+	cd "$_builddir"
+	for i in $source; do
+		case $i in
+		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+		esac
+	done
+}
+
+build() {
+	cd "$_builddir"
+	./configure -bindir /usr/bin \
+		-libdir /usr/lib/ocaml \
+		-mandir /usr/share/man \
+		-no-tk \
+		|| return 1
+	make -j1 world.opt || return 1
+}
+
+package() {
+	cd "$_builddir"
+	make BINDIR="$pkgdir"/usr/bin LIBDIR="$pkgdir"/usr/lib/ocaml MANDIR="$pkgdir"/usr/share/man install || return 1
+	
+	install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+	
+	install -Dm644 INSTALL "$pkgdir"/usr/share/doc/$pkgname/INSTALL
+	install -Dm644 Changes "$pkgdir"/usr/share/doc/$pkgname/Changes
+	install -Dm644 README "$pkgdir"/usr/share/doc/$pkgname/README
+	
+	find "$pkgdir"/usr/lib/ocaml -name \*.ml -delete
+}
+md5sums="814a047085f0f901ab7d8e3a4b7a9e65  ocaml-3.12.1.tar.gz"
-- 
1.7.9.6

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Natanael Copa <[email-masked]>
Date: Fri, 13 Apr 2012 23:12:24 +0200

On Thu, 12 Apr 2012 02:53:10 +0000
Borys Zhukov <[email-masked]> wrote:

> ---
>  testing/ocaml/APKBUILD |   51
> ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51
> insertions(+) create mode 100644 testing/ocaml/APKBUILD

This didnt build on my dev build server.

gcc -fno-defer-pop -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -I../../byterun -O -fPIC  -c write.c
../../boot/ocamlrun ../../tools/ocamlmklib -oc unix accept.o access.o addrofstr.o alarm.o bind.o chdir.o chmod.o chown.o chroot.o close.o closedir.o connect.o cst2constr.o cstringv.o dup.o dup2.o envir.o errmsg.o execv.o execve.o execvp.o exit.o fchmod.o fchown.o fcntl.o fork.o ftruncate.o getaddrinfo.o getcwd.o getegid.o geteuid.o getgid.o getgr.o getgroups.o gethost.o gethostname.o getlogin.o getnameinfo.o getpeername.o getpid.o getppid.o getproto.o getpw.o gettimeofday.o getserv.o getsockname.o getuid.o gmtime.o initgroups.o isatty.o itimer.o kill.o link.o listen.o lockf.o lseek.o mkdir.o mkfifo.o nice.o open.o opendir.o pipe.o putenv.o read.o readdir.o readlink.o rename.o rewinddir.o rmdir.o select.o sendrecv.o setgid.o setgroups.o setsid.o setuid.o shutdown.o signals.o sleep.o socket.o socketaddr.o socketpair.o sockopt.o stat.o strofaddr.o symlink.o termios.o time.o times.o truncate.o umask.o unixsupport.o unlink.o utimes.o wait.o write.o 
../../ocamlcomp.sh -c -warn-error A -g -nolabels unix.mli
Can't modify application's text section; use the GCC option -fPIE for position-independent executables.
make[2]: *** [unix.cmi] Error 1
make[2]: Leaving directory
`/home/ncopa/aports/testing/ocaml/src/ocaml-3.12.1/otherlibs/unix'

Maybe have a look at what gentoo (hardened) does?

-nc

---