Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Apr 2024 06:15:48 GMT
From:      Wen Heping <wen@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: bf8c31e2d10c - main - www/moodle44: New port, copied from www/moodle43
Message-ID:  <202404220615.43M6Fm8D060957@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by wen:

URL: https://cgit.FreeBSD.org/ports/commit/?id=bf8c31e2d10c6e176a817d2c6f6fc19f41959365

commit bf8c31e2d10c6e176a817d2c6f6fc19f41959365
Author:     Wen Heping <wen@FreeBSD.org>
AuthorDate: 2024-04-22 06:14:50 +0000
Commit:     Wen Heping <wen@FreeBSD.org>
CommitDate: 2024-04-22 06:14:50 +0000

    www/moodle44: New port, copied from www/moodle43
    
    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/moodle44/Makefile             | 60 +++++++++++++++++++++++++++++++++++++++
 www/moodle44/distinfo             |  3 ++
 www/moodle44/files/pkg-message.in | 59 ++++++++++++++++++++++++++++++++++++++
 www/moodle44/pkg-descr            |  5 ++++
 5 files changed, 128 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index ca89da5bfc7c..8cebe5a998ff 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -436,6 +436,7 @@
     SUBDIR += moodle41
     SUBDIR += moodle42
     SUBDIR += moodle43
+    SUBDIR += moodle44
     SUBDIR += morty
     SUBDIR += multisort
     SUBDIR += multiwatch
diff --git a/www/moodle44/Makefile b/www/moodle44/Makefile
new file mode 100644
index 000000000000..31194662467a
--- /dev/null
+++ b/www/moodle44/Makefile
@@ -0,0 +1,60 @@
+PORTNAME=	moodle
+PORTVERSION=	4.4
+CATEGORIES=	www education
+MASTER_SITES=	SF/moodle/Moodle/stable404/
+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]* moodle42-4.2.[0-9]* moodle43-4.3.[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 <bsd.port.mk>
diff --git a/www/moodle44/distinfo b/www/moodle44/distinfo
new file mode 100644
index 000000000000..c08120a9e335
--- /dev/null
+++ b/www/moodle44/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1713748123
+SHA256 (moodle-4.4.tgz) = 216e3b216b5d6e4064f20c3a78441bfc2f7f051c036c9a62ad79dc1860f2dfeb
+SIZE (moodle-4.4.tgz) = 71137364
diff --git a/www/moodle44/files/pkg-message.in b/www/moodle44/files/pkg-message.in
new file mode 100644
index 000000000000..5282847317fb
--- /dev/null
+++ b/www/moodle44/files/pkg-message.in
@@ -0,0 +1,59 @@
+[
+{ type: install
+  message: <<EOM
+1) Create a user and a database for Moodle to store all
+   its tables in (or choose an existing database).
+   It doesn't matter what the database or user names are,
+   as this will be configured in a later step.
+   NOTE: this package assumes that either the phpX-pgsql,
+   phpX-mysql, or phpX-mssql packages are installed.
+
+2) Add the following to your Apache configuration file
+   httpd.conf, and restart the server:
+
+   Alias /moodle %%PREFIX%%/%%MOODLEDIR%%/
+   AcceptPathInfo On
+   <Directory %%PREFIX%%/%%MOODLEDIR%%/>
+      AllowOverride None
+      Require all granted
+   </Directory>
+
+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: <<EOM
+If you are upgrading from an earlier version of Moodle, check out
+possible additional steps at:
+
+   https://docs.moodle.org/400/en/Upgrading
+
+If you have real trouble, please visit the Moodle course
+"Using Moodle" on moodle.org.
+EOM
+}
+]
diff --git a/www/moodle44/pkg-descr b/www/moodle44/pkg-descr
new file mode 100644
index 000000000000..8d24b9357db9
--- /dev/null
+++ b/www/moodle44/pkg-descr
@@ -0,0 +1,5 @@
+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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202404220615.43M6Fm8D060957>