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,2 +1,3 @@ | ||
DIST moodle-3.11.12.tgz 60456820 BLAKE2B 702a3352e64a5f1b1e0713474f8b5297410dbc5e57aa8902471f7d4f8c7fbae0503fc4addc55b89345858fa25492305048c401eec77ab2ebdd773ed3d878496d SHA512 92d299f798956d05cb82f05e930d3ec21685b12a58e0105a8bfb7ac996c10b18870b8dd17ebefb6cc9518d360d02976e1de6f303d15630d886df7aac46d05708 | ||
DIST moodle-4.0.6.tgz 62119193 BLAKE2B 5ba5d48fc741f9c51cf5621c9143614b5eb50d5f0ae79b36bf320a83d90214779d915485211d00041cc96b92a72d5a133313f087d78c38120c8b948fd5236a58 SHA512 d6454913ac53a7505abed81b1db8389513218065502e3a5625d2b58cdd534e97603a190d58e7c1fc9b11dae833d81025dd8ca12ae483879c9f22e2a01e531447 | ||
DIST moodle-4.1.1.tgz 64758192 BLAKE2B 2632c1524208001030f9baa92f2c487d7bf3feb205ee26ce8360ddd9e1b67424f110095eb82441ad6175115d71b80a3147c06abcc2be476236410cc3982896e9 SHA512 a636ac66da040bd90cd7da6d40f76454b78b625b583eec105204e574b54711d7709821abe83d5fc85738737ec21b418e4ba0847b1de1937a7ebf3a990dbf7e17 |
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,xmlrpc" | ||
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:7.4[${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 | ||
} |