# Contributor: JulioJu < juanes 0890 at google mail dot com > # Maintainer : JulioJu < juanes 0890 at google mail dot com > # Inspirated from : # http://bazaar.launchpad.net/~marionnet-drivers/marionnet/trunk/view/head:/useful-scripts/marionnet_from_scratch # Copyright (C) 2010 2011 2012 2013 Jean-Vincent Loddo Copyright (C) 2010 # 2011 2012 2013 Université Paris 13 # (LGPL) pkgname=('marionnet-trunk') pkgver=1 pkgrel=3 pkgdesc="Educational software. It is a virtual network laboratory: it allows users to define, configure and run complex computer networks without any need for physical setup. Trunk version (with UML kernel Debian Wheezy)." arch=('i686' 'x86_64') url="https://www.marionnet.org/" makedepends=('wget' 'bc' 'optipng') license=('LGPL') depends=('xorg-server' 'xorg-xinit' 'xorg-server-utils' 'gtksourceview2' 'libglademm' 'graphviz' 'xterm' 'vde2' 'uml_utilities' 'net-tools' 'bridge-utils') if test "$CARCH" == x86_64; then depends+=('lib32-glibc') fi # Not depends of camlp4 and ocaml-findlib. conflicts=('marionnet') source=("http://caml.inria.fr/pub/distrib/ocaml-3.12/ocaml-3.12.1.tar.gz" 'http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/dist/lablgtk-2.14.2.tar.gz' "https://www.marionnet.org/download/marionnet_from_scratch/mirror/ocamlbricks-trunk.tar.gz" "https://www.marionnet.org/download/marionnet_from_scratch/mirror/marionnet-trunk.tar.gz" "https://raw.githubusercontent.com/JulioJu/Marionnet_ArchLinux_Installer/master/Makefile-trunk.patch" "https://raw.githubusercontent.com/JulioJu/Marionnet_ArchLinux_Installer/master/marionnet_from_scratch-Downloader" ) sha256sums=('4f81ab86258be0eea1507dd5338c8670490f8616249821e731f8ac1c64caa4a7' '4981abedabdc462303f345104042c88af227ccd50fd30a9bf48fd353ab02d0ba' 'efa4989a38e5a2504589e3f2f0a3e19f7b80e6262931c51c2d0ed9f1df71d882' 'a37920491b8a621f84cd8f876c121736db6ee303aec916e1bf878df96d87bc15' 'efb09389cc67a88b16509dec3ca3fb32f1da1f4c5808b8f2e7e2f050376bf691' 'f0f93f30424da231357c3d7698229ba1fbdaa41737c954b71ede44d5e57cd50a') install=marionnet-trunk.install # ################ # MAKEDEPENDS : CREATED DURING COMPILATION but not keep # pkgname=ocaml # pkgver=3.12.1 # Do not use older package (see : # https://bugs.launchpad.net/marionnet/+bug/1580349 ) # pkgdesc="A functional language with OO extensions" # license=('LGPL2.1' 'custom: QPL-1.0') # url="http://caml.inria.fr/" # # pkgname=lablgtk2 # It seems we can use older package. # pkgdesc="An Objective Caml interface to gtk2" # license=('LGPL') # url="http://lablgtk.forge.ocamlcore.org/" # license=('GPL') # # pkgname=ocamlbricks # pkgver=0.90.3 # pkgdesc="Miscellaneous utility functions in OCaml for Marionnet" # conflicts=('ocamlbricks_trunk') # url="https://launchpad.net/ocamlbricks/" # license=('GPL') prepare () { MARIONNET_DIR="${srcdir}/marionnet" OCAMLBRICK_DIR="${srcdir}/ocamlbricks" rm -f Makefile wget 'http://bazaar.launchpad.net/~marionnet-drivers/ocamlbricks/trunk/download/433/makefile-20100403081515-2ppvwcnk394cby5w-1/Makefile' mv Makefile ${OCAMLBRICK_DIR} wget 'http://bazaar.launchpad.net/~marionnet-drivers/marionnet/trunk/download/475/makefile-20100403171831-9konc1imlakbopj2-1/Makefile' mv Makefile ${MARIONNET_DIR} } build () { OUR_MIRROR="https://www.marionnet.org/download/marionnet_from_scratch/mirror/" PREFIX="${srcdir}/usr/local" mkdir -p "${PREFIX}/usr/local" OCAML_DIR="${srcdir}/ocaml-3.12.1" LABLGTK2_DIR="${srcdir}/lablgtk-2.14.2" MARIONNET_DIR="${srcdir}/marionnet" OCAMLBRICK_DIR="${srcdir}/ocamlbricks" export PATH="${PREFIX}/bin:${PATH}" LIB_OCAML="${PREFIX}/lib/ocaml/" ### OCAML ### cd "${OCAML_DIR}" ./configure -prefix "${PREFIX}" -no-curses -no-tk make world.opt && make install make -C tools/ objinfo if [[ ! -e "${PREFIX}/bin/ocamlobjinfo" ]]; then cp tools/objinfo ${PREFIX}/bin/ && [[ -e ${PREFIX}/bin/ocamlobjinfo ]] || ln -s objinfo \ ${PREFIX}/bin/ocamlobjinfo fi # #### Liblgtk2 ### cd "${LABLGTK2_DIR}" ./configure --prefix="${PREFIX}" \ --with-glade --without-gl --without-rsvg --without-gnomecanvas --without-gnomeui \ --without-panel --without-gtkspell --without-gtksourceview --with-gtksourceview2 \ --without-quartz && make && make opt && make install #### OCAMLBRICKS ########## cd "${OCAMLBRICK_DIR}" cat > CONFIGME < CONFIGME </dev/null; then echo $i return 0 fi done # otherwise return the first: echo $1 } MARIONNET_KEYBOARD_LAYOUT=$(echo $LANG | grep -o '^[a-z]*') MARIONNET_KEYBOARD_LAYOUT=${MARIONNET_KEYBOARD_LAYOUT=:-us} MARIONNET_PDF_READER=$(first_installed_binary_of_list evince okular kpdf xpdf gv) MARIONNET_POSTSCRIPT_READER=$MARIONNET_PDF_READER MARIONNET_DVI_READER=$MARIONNET_PDF_READER MARIONNET_HTML_READER=$(first_installed_binary_of_list firefox epiphany galeon konqueror rekonq chromium opera) MARIONNET_TEXT_EDITOR=$(first_installed_binary_of_list emacs gedit kate kwrite xemacs) for i in MARIONNET_{PDF,POSTSCRIPT,DVI,HTML}_READER MARIONNET_TEXT_EDITOR MARIONNET_KEYBOARD_LAYOUT; do v=$(eval echo \$$i); sed -i -e "s/$i=\(.*\)/$i=$v/" $MARIONNET_DOT_CONF done #### Generate Daemon #### mkdir -p "${pkgdir}/usr/lib/systemd/system/" cd "${pkgdir}/usr/lib/systemd/system/" cat > marionnetdaemon.service < "${pkgdir}/usr/share/marionnet/numberOfStepsPassedForDownloadMarionnetFilesystems.tmp" } # vim: ft=sh: