forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Anthony G. Basile <[email protected]>
- Loading branch information
Showing
2 changed files
with
121 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST moodle-4.2.3.tgz 65362300 BLAKE2B 953a010efe4b5b90cddb5538720c164a96554965ca67a386c48c908334fd8ca57c78a6923d9a2332056a1c1b5281b32bfd0203f77c7f42c87cc6674408663a7c SHA512 43352b5f840f012aa3c460adeb1b68e5db5201102157c85449902edda9e95abd94e2aa526251a97e07af4d0e75b82eaa83bd3d6f26718095e10e3cc9956f22ce | ||
DIST moodle-4.3.tgz 66728529 BLAKE2B d4c2bfac6a03f58729a2662b97ff3a08d9153d0c42ea4955c340d2c2f864635622fbf3855e13dd012ac2602e4004d2e80527251477afa9176ea7d4bb83f9e48f SHA512 606d6d9308004fed217a58a7986507f72d4de2e15e0a80ace39060e74baa6f85c1cb78184b55558c57a2dac57f223f19a5084be7009085dfe70f32c10dc3dc56 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
# Copyright 1999-2023 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI="7" | ||
|
||
inherit webapp | ||
|
||
DESCRIPTION="The Moodle Course Management System" | ||
HOMEPAGE="https://moodle.org" | ||
|
||
MY_BRANCH="stable$(ver_cut 1)0$(ver_cut 2)" | ||
SRC_URI="https://download.moodle.org/download.php/direct/${MY_BRANCH}/${P}.tgz" | ||
S="${WORKDIR}/${PN}" | ||
|
||
LICENSE="GPL-3+" | ||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" | ||
#SLOT empty due to webapp | ||
|
||
DB_FLAGS="mysqli?,mssql?,postgres?" | ||
DB_TYPES=${DB_FLAGS//\?/} | ||
DB_TYPES=${DB_TYPES//,/ } | ||
|
||
AUTHENTICATION_FLAGS="imap?,ldap?,odbc?" | ||
AUTHENTICATION_MODES=${AUTHENTICATION_FLAGS//\?/} | ||
AUTHENTICATION_MODES=${AUTHENTICATION_MODES//,/ } | ||
|
||
PHP_REQUIRED_FLAGS="ctype,curl,iconv,json(+),session,simplexml,xml,zip" | ||
PHP_OPTIONAL_FLAGS="gd,intl,soap,ssl,tokenizer" | ||
PHP_FLAGS="${PHP_REQUIRED_FLAGS},${PHP_OPTIONAL_FLAGS}" | ||
|
||
IUSE="${DB_TYPES} ${AUTHENTICATION_MODES} vhosts" | ||
|
||
# No forced dependency on | ||
# mssql? - lives on a windows server | ||
# mysql? ( virtual/mysql ) | ||
# postgres? ( dev-db/postgresql-server-9* ) | ||
# which may live on another server. These USE flags affect the configuration | ||
# file and the dependency on php. However other dbs are possible. See config.php | ||
# and the moodle documentation for other possibilities. | ||
DEPEND="" | ||
RDEPEND=" | ||
dev-lang/php:8.1[${DB_FLAGS},${AUTHENTICATION_FLAGS},${PHP_FLAGS}] | ||
virtual/httpd-php | ||
virtual/cron" | ||
|
||
pkg_setup() { | ||
webapp_pkg_setup | ||
|
||
# How many dbs were selected? If one and only one, which one is it? | ||
MYDB="" | ||
DB_COUNT=0 | ||
for db in ${DB_TYPES}; do | ||
if use ${db}; then | ||
MYDB=${db} | ||
DB_COUNT=$(($DB_COUNT+1)) | ||
fi | ||
done | ||
|
||
if [[ ${DB_COUNT} -eq 0 ]]; then | ||
eerror | ||
eerror "No database selected in your USE flags," | ||
eerror "You must select at least one." | ||
eerror | ||
die | ||
fi | ||
|
||
if [[ ${DB_COUNT} -gt 1 ]]; then | ||
MYDB="" | ||
ewarn | ||
ewarn "Multiple databases selected in your USE flags," | ||
ewarn "You will have to choose your database manually." | ||
ewarn | ||
fi | ||
} | ||
|
||
src_prepare() { | ||
rm COPYING.txt | ||
cp "${FILESDIR}"/config-r1.php config.php | ||
|
||
# Moodle expect pgsql, not postgres | ||
MYDB=${MYDB/postgres/pgsql} | ||
|
||
if [[ ${DB_COUNT} -eq 1 ]] ; then | ||
sed -i -e "s|mydb|${MYDB}|" config.php | ||
fi | ||
|
||
eapply_user | ||
} | ||
|
||
src_install() { | ||
webapp_src_preinst | ||
|
||
local MOODLEDATA="${MY_HOSTROOTDIR}"/moodle | ||
dodir ${MOODLEDATA} | ||
webapp_serverowned -R "${MOODLEDATA}" | ||
|
||
local MOODLEROOT="${MY_HTDOCSDIR}" | ||
insinto ${MOODLEROOT} | ||
doins -r * | ||
|
||
webapp_configfile "${MOODLEROOT}"/config.php | ||
|
||
if [[ ${DB_COUNT} -eq 1 ]]; then | ||
webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt | ||
else | ||
webapp_postinst_txt en "${FILESDIR}"/postinstall-nodb-en.txt | ||
fi | ||
|
||
webapp_src_install | ||
} | ||
|
||
pkg_postinst() { | ||
einfo | ||
einfo | ||
einfo "To see the post install instructions, do" | ||
einfo | ||
einfo " webapp-config --show-postinst ${PN} ${PVR}" | ||
einfo | ||
einfo | ||
} |