summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-chemistry/webmo/webmo-8.0.010.ebuild')
-rw-r--r--sci-chemistry/webmo/webmo-8.0.010.ebuild121
1 files changed, 121 insertions, 0 deletions
diff --git a/sci-chemistry/webmo/webmo-8.0.010.ebuild b/sci-chemistry/webmo/webmo-8.0.010.ebuild
new file mode 100644
index 000000000000..0d3a517f69e3
--- /dev/null
+++ b/sci-chemistry/webmo/webmo-8.0.010.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/webmo/webmo-8.0.010.ebuild,v 1.1 2008/02/15 08:53:27 dberkholz Exp $
+
+inherit eutils webapp depend.apache
+
+MY_SRC_PN="WebMO"
+MY_SRC_P="${MY_SRC_PN}.${PV}"
+DESCRIPTION="Web-based interface to computational chemistry packages"
+HOMEPAGE="http://webmo.net/"
+SRC_URI="${MY_SRC_P}.tar.gz"
+
+LICENSE="WebMO"
+SLOT="${PVR}"
+KEYWORDS="~x86"
+RESTRICT="fetch"
+IUSE=""
+
+DEPEND="dev-lang/perl"
+need_apache2
+
+S="${WORKDIR}/${MY_SRC_PN}.install"
+
+pkg_nofetch() {
+ einfo "Go to http://webmo.net/ and register for a free license."
+ einfo "Download ${SRC_URI} and place it in ${DISTDIR}."
+}
+
+src_unpack() {
+ # We need a license number to proceed
+ if [[ -z ${WEBMO_LICENSE} ]]; then
+ msg="You must set WEBMO_LICENSE to your license number in make.conf."
+ ewarn "$msg"
+ die "$msg"
+ fi
+
+ # Check for invalid license values. Valid are dddd-dddd-dddd
+ if [[ ${WEBMO_LICENSE} != [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] ]]; then
+ msg="Invalid license format. Licenses should be DDDD-DDDD-DDDD (D is a digit)."
+ ewarn "$msg"
+ die "$msg"
+ fi
+
+ unpack ${A}
+
+ # Set up program locations to match where portage installs them
+ epatch "${FILESDIR}"/8.0.010-gentoo-locations.patch
+
+ # Add a data directory for gamess, because WebMO expects everything
+ # in one directory instead of FHS
+ # (Depends on gentoo-locations.patch)
+ epatch "${FILESDIR}"/8.0.010-add-gamess-data-directory.patch
+
+ # Don't run diagnose.pl or ask about being root user
+ epatch "${FILESDIR}"/dont-be-interactive-or-diagnose.patch
+
+ # Make setup.conf
+ create_setup_conf
+}
+
+src_install() {
+ webapp_src_preinst
+
+ # Install everything
+ perl setup.pl || die "Check '${S}'/diagnose.html for errors"
+
+ # Get ${D} out of main config file
+ dosed "${MY_CGIBINDIR}/webmo/interfaces/globals.int"
+
+ webapp_hook_script "${FILESDIR}"/reconfig
+
+ local files=$(find "${D}"${MY_HOSTROOTDIR}/webmo "${D}"${MY_CGIBINDIR}/webmo/interfaces)
+ # Add the directories themselves
+ files="${files} ${MY_HOSTROOTDIR}/webmo ${MY_CGIBINDIR}/webmo/interfaces"
+ files=${files//${D}/}
+ for file in ${files}; do
+ webapp_configfile "${file}"
+ webapp_serverowned "${file}"
+ done
+
+ ebegin "Fixing permissions"
+ pushd "${D}" > /dev/null
+ find . -perm /o+w -type f | xargs fperms 664
+ find . -perm /o+w -type d | xargs fperms 775
+ popd > /dev/null
+ eend 0
+
+ webapp_src_install
+}
+
+pkg_postinst() {
+ elog
+ elog "Be sure that this line is uncommented in httpd.conf:"
+ elog "AddHandle cgi-scripts .cgi"
+ elog
+ elog "The diagnose.pl script can be run if WebMO doesn't work properly."
+ elog
+ ewarn "Be careful never to overwrite your user, group or job databases"
+ ewarn "when using etc-update after an upgrade."
+
+ webapp_pkg_postinst
+}
+
+create_setup_conf() {
+ local SETUP_CONF="${S}/setup.conf"
+
+ echo_setup perlPath /usr/bin/perl "${SETUP_CONF}"
+ echo_setup htmlBase "${D}${MY_HTDOCSDIR}" "${SETUP_CONF}"
+ echo_setup url_htmlBase /webmo "${SETUP_CONF}"
+ echo_setup cgiBase "${D}${MY_CGIBINDIR}/webmo" "${SETUP_CONF}"
+ echo_setup url_cgiBase /cgi-bin/webmo "${SETUP_CONF}"
+ echo_setup userBase "${D}${MY_HOSTROOTDIR}/webmo" "${SETUP_CONF}"
+ echo_setup license "${WEBMO_LICENSE}" "${SETUP_CONF}"
+}
+
+# Takes three arguments:
+# 1: variable, 2: value, 3: file to echo them to
+echo_setup() {
+ # All values must be double-quoted, so escape the inner quotes.
+ echo "${1}=\"${2}\"" >> ${3}
+}