From 97e7b4cd66cbf63386e2a8840c3bb711cdd1705d Mon Sep 17 00:00:00 2001 From: Wen Heping Date: Mon, 14 Apr 2025 09:47:34 +0000 Subject: [PATCH] www/moodle50: New port, copied from www/moodle45 Moodle is a course management system (CMS) - a free, Open Source software package designed using sound pedagogical principles, to help educators create effective online learning communities. You can use it on any computer you have handy (including webhosts), yet it can scale from a single-teacher site to a 40,000-student University. --- www/Makefile | 1 + www/moodle50/Makefile | 62 +++++++++++++++++++++++++++++++ www/moodle50/distinfo | 3 ++ www/moodle50/files/pkg-message.in | 59 +++++++++++++++++++++++++++++ www/moodle50/pkg-descr | 5 +++ 5 files changed, 130 insertions(+) create mode 100644 www/moodle50/Makefile create mode 100644 www/moodle50/distinfo create mode 100644 www/moodle50/files/pkg-message.in create mode 100644 www/moodle50/pkg-descr diff --git a/www/Makefile b/www/Makefile index ccebf0450f69..fc63cd0781ee 100644 --- a/www/Makefile +++ b/www/Makefile @@ -449,6 +449,7 @@ SUBDIR += moodle43 SUBDIR += moodle44 SUBDIR += moodle45 + SUBDIR += moodle50 SUBDIR += morty SUBDIR += multisort SUBDIR += multiwatch diff --git a/www/moodle50/Makefile b/www/moodle50/Makefile new file mode 100644 index 000000000000..fc5aef9bb420 --- /dev/null +++ b/www/moodle50/Makefile @@ -0,0 +1,62 @@ +PORTNAME= moodle +PORTVERSION= 5.0 +CATEGORIES= www education +MASTER_SITES= https://packaging.moodle.org/stable500/ \ + LOCAL/wen +PKGNAMESUFFIX= ${PKGORIGIN:T:S/moodle//}${PHP_PKGNAMESUFFIX} + +MAINTAINER= wen@FreeBSD.org +COMMENT= Course management system based on social constructionism +WWW= https://www.moodle.org/ + +LICENSE= GPLv3 + +CONFLICTS= moodle41-4.1.[0-9]* moodle43-4.3.[0-9]* moodle44-4.4.[0-9]* \ + moodle45-4.5.[0-9]* + +USES= cpe php:flavors tar:tgz +USE_PHP= ctype curl dom exif fileinfo filter gd \ + iconv intl mbstring opcache \ + session simplexml soap sodium tokenizer \ + xml xmlreader xmlrpc zip zlib + +WRKSRC= ${WRKDIR}/moodle + +OPTIONS_SINGLE= BACKEND +OPTIONS_SINGLE_BACKEND= MYSQL PGSQL +OPTIONS_DEFINE= LDAP +OPTIONS_DEFAULT= MYSQL + +MYSQL_USES= mysql +MYSQL_USE= php=mysqli +PGSQL_USE= php=pgsql +LDAP_USE= php=ldap + +NO_BUILD= yes +PLIST= ${WRKDIR}/plist +SUB_FILES= pkg-message +SUB_LIST= MOODLEDIR=${MOODLEDIR} \ + MOODLEDATADIR=${MOODLEDATADIR} + +MOODLEDIR?= www/moodle +MOODLEDATADIR?= moodledata + +pre-install: + @${ECHO_CMD} "@owner ${WWWOWN}" >> ${PLIST} + @${ECHO_CMD} "@group ${WWWGRP}" >> ${PLIST} + @${ECHO_CMD} "@mode 755" >> ${PLIST} + @${ECHO} @dir ${MOODLEDATADIR} >> ${PLIST} + @${ECHO_CMD} "@mode" >> ${PLIST} + @${ECHO_CMD} "@group" >> ${PLIST} + @${ECHO_CMD} "@owner" >> ${PLIST} + +# Here for safety I do not set moodle diretory 0755 permission +# It require user write config.php manually then. + @${FIND} -s -d ${WRKSRC} -type f | ${SED} "s?${WRKSRC}?${MOODLEDIR}?g" >>${PLIST} + @${FIND} -s -d ${WRKSRC} -type d | ${SED} "s?${WRKSRC}?@dir ${MOODLEDIR}?g" >> ${PLIST} + +do-install: + @cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/${MOODLEDIR} + @${INSTALL} -d ${STAGEDIR}${PREFIX}/${MOODLEDATADIR} + +.include diff --git a/www/moodle50/distinfo b/www/moodle50/distinfo new file mode 100644 index 000000000000..8fedb961d8c4 --- /dev/null +++ b/www/moodle50/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1744622715 +SHA256 (moodle-5.0.tgz) = f28f6a45174691d2ecd19b073fc1e3bf82c04ca997370058df29f2f9c433d99e +SIZE (moodle-5.0.tgz) = 74123598 diff --git a/www/moodle50/files/pkg-message.in b/www/moodle50/files/pkg-message.in new file mode 100644 index 000000000000..5282847317fb --- /dev/null +++ b/www/moodle50/files/pkg-message.in @@ -0,0 +1,59 @@ +[ +{ type: install + message: < + AllowOverride None + Require all granted + + +3) Visit your Moodle site with a browser (i.e., + http://your.server.com/moodle/), and you should + be taken to the install.php script, which will lead + you through creating a config.php file and then + setting up Moodle, creating an admin account, etc. + + At one step, you will get a message saying that the + installer script was not able to automatically create + the config.php file. Just download it and copy it to + %%PREFIX%%/%%MOODLEDIR%%/config.php. Beware that it + will contain the database password in cleartext, so + set up whatever file permissions you deem more adequate. + For instance, user=root, group=www, mask=640. + +4) Set up a cron task to invoke the file admin/cron.php + every five minutes or so. For instance: + */5 * * * * fetch http://your.server.com/moodle/admin/cron.php + +For more information, see the INSTALL DOCUMENTATION: + + http://docs.moodle.org/en/Installing_Moodle + +It may be worth reading the installation docs even if Moodle seems +to be working at first, to ensure your PHP settings and database +configuration will allow Moodle to operate properly. +EOM +} +{ type: upgrade + message: <