Bug 248402

Summary: Add new virtual category: education
Product: Ports & Packages Reporter: Pau Amma <pauamma>
Component: Ports FrameworkAssignee: Port Management Team <portmgr>
Status: Closed FIXED    
Severity: Affects Some People CC: 0mp, adamw, db, dbaio, demon, fernape, franco, freebsd, games, hamradio, jadawin, javad.kouhi, kai, kde, lbartoletti, mandree, nivit, portmgr, ports-bugs, sbz, stephen, tota, uzsolt, walter.von.entferndt, wen, yuri
Priority: --- Keywords: needs-qa, patch
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://lists.freebsd.org/pipermail/freebsd-ports/2020-July/118989.html
Bug Depends on:    
Bug Blocks: 248403    
Attachments:
Description Flags
Adds new virtual category "education"
none
Adds new virtual category "education", revision 1
none
Adds new virtual category "education", revision 2
adamw: maintainer-approval+
Adds new virtual category "education", revision 3 pauamma: maintainer-approval? (portmgr)

Description Pau Amma 2020-08-01 01:08:00 UTC
As discussed in https://lists.freebsd.org/pipermail/freebsd-ports/2020-July/118989.html and the ensuing thread, this new virtual category will initially include the following ports: astro/marble, astro/nightfall, biology/figtree, biology/py-scikit-bio, cad/basicdsp, cad/feappv, cad/logisim, comms/gtkmmorse, deskutils/docear, deskutils/fet, devel/elfkickers, devel/raylib, devel/thonny, emulators/edumips64, games/anki, games/colobot, games/crashtest, games/crrcsim, games/gcompris-qt, games/kanagram, games/katomic, games/nimuh, games/py-mnemosyne, games/robocode, games/robocode-naval, games/tuxmath, games/tuxtype, graphics/geomview, graphics/libreatlas, japanese/kiten, japanese/slimeforest, lang/kturtle, math/R-cran-LearnBayes, math/analitza, math/geogebra, math/geonext, math/kalgebra, math/kbruch, math/kig, math/kmplot, math/octave-forge-ltfat, math/rocs, math/timbl, math/ump, misc/artikulate, misc/kdeedu, misc/kgeography, misc/klettres, misc/ktouch, misc/kwordquiz, misc/lingoteach, misc/parley, misc/paukern misc/py-orange3-educational, multimedia/projectx, net/ns3, print/jabref, science/fisicalab, science/kalzium, science/libccp4, science/py-qspin, science/step, sysutils/hourglass, textproc/popup, textproc/py-nltk, www/efront, www/ilias, www/ilias6, www/moodle35, www/moodle37, www/moodle38, www/moodle39, and www/sakai.

Patch to come.
Comment 1 Yuri Victorovich freebsd_committer freebsd_triage 2020-08-01 01:57:31 UTC
+1
Comment 2 Pau Amma 2020-08-01 13:12:18 UTC
Created attachment 216936 [details]
Adds new virtual category "education"

May need an addition to CHANGES as well, but I don't know who will be the AUTHOR.

Tested by running "env PORTSDIR=/home/pauamma/ports make index" and checking that the resulting INDEX-12 contains "education" in the expected places.
Comment 3 Zsolt Udvari freebsd_committer freebsd_triage 2020-08-02 12:48:21 UTC
Very good idea!
Comment 4 Stephen Montgomery-Smith freebsd_committer freebsd_triage 2020-08-02 17:53:39 UTC
Is the only reason math/octave-forge-ltfat is included because the word "educational" appears in the pkg-descr?  To me it seems a bit of a stretch.
Comment 5 Stephen Montgomery-Smith freebsd_committer freebsd_triage 2020-08-02 18:08:30 UTC
I do use the math/octave port (albeit on Windows or Linux) when I teach a class "Numerical Linear Algebra."  And Matlab is widely used by Engineering schools over the world, and octave is a drop in replacement for Matlab.  But do you want it considered educational?  Would you consider Mathematica to be educational?  If math/octave-froge-ltfat is considered educational, then you could make a case that all the octave* ports are educational, as well as maxima, wxmaxima, sage, and a bunch of other computer algebra systems.

For that matter, you could add python, gcc and clang ports as educational, as Computer Science departments the world over use them in classes.
Comment 6 Pau Amma 2020-08-02 21:27:48 UTC
(In reply to Stephen Montgomery-Smith from comment #4)

As I wrote in the email linked in "URL":

> Based on a search of the port tree for the strings "educat" and "learn"
> and weeding out obvious false positives, the following 72 ports appear 
> to belong in that category:

So yes. That said, it seems to me that port maintainers have the final say on which categories they want their port(s) registered under. If you don't want math/octave-forge-ltfat in this new category, that's fine with me. One reason for this bug is to get false positives I missed removed.
Comment 7 Mateusz Piotrowski freebsd_committer freebsd_triage 2020-08-02 21:47:09 UTC
+1 for my emulators/edumips64 port (I cannot see any other ports I maintain here).

I am not sure if things like www/moodle38 should be included. Virtual categories should make it easier for end users to discover software and "educational" category would suggest I can find programs which are rather end-user-oriented (like, games/tuxmath or games/anki).
Comment 8 Pau Amma 2020-08-02 22:14:59 UTC
(In reply to Mateusz Piotrowski from comment #7)

Quoting again from my email of 2 weeks ago linked in this bug:

> This category would comprise ports that are mainly educational in nature 
> or purpose, such as:
> - course-writing or course-delivery applications,
> - classroom or school management applications (eg, scheduling classes),
> - applications, utilities, or games primarily or substantially designed 
> to help the user learn a specific topic or study in general, like typing 
> tutors, flashcard applications, or educational games.

It seems to me that the www/moodle3* ports belong in the first subcategory. Also, educators as well as students are end users, or can be.
Comment 9 Pau Amma 2020-08-02 23:44:49 UTC
Created attachment 216971 [details]
Adds new virtual category "education", revision 1

Remove math/octave-forge-ltfat per maintainer request.

Note: also needs CHANGES entry but no idea who AUTHOR will be.
Comment 10 Pau Amma 2020-08-24 03:43:32 UTC
(In reply to Mateusz Piotrowski from comment #7)

What is needed to move this forward? Specifically but not exclusively, was your comment asking for the rationale for including moodle* (the way I interpreted and answered it), or suggesting that I remove it (in which  case, I'd like a second opinion, considering that www/sakai that I added at someone's request seems to fall in the same subcategory)?
Comment 11 Walter von Entferndt 2020-09-19 16:18:23 UTC
1. +1 to have this new virtual category "education"
2. A more modern approach would be to add /tags/ to the ports system.  This should be possible while keeping the one-subdir category policy we have now.
Comment 12 Mateusz Piotrowski freebsd_committer freebsd_triage 2020-11-06 09:42:02 UTC
(In reply to PauAmma from comment #10)
Oh, I'm sorry, I probably haven't read the original email proposing the category.

Personally, I'd be against adding moodle to "education", because I'd rather keep this category end-user-oriented (i.e., mostly tools I can use on my desktop machine to learn stuff).

However, I am not going to oppose moodle being inlcuded; there's probably already too much bikeshedding already going on.

I guess that at this point we should wait for the portmgr@.

Thanks a lot for the work, PauAmma :)
Comment 13 Pau Amma 2020-11-10 04:51:44 UTC
Note to myself: if moodle stays, there's now a moodle310, so patch needs to be updated whether or not it stays. Will update when I hear from portmgr@ which way it goes.
Comment 14 Adam Weinberger freebsd_committer freebsd_triage 2020-11-10 14:34:40 UTC
There's no way to keep a category client-only. People will continually add things they feel are education-related.

If I were looking for moodle, the first place I would look is education. The fact that it's a web application is irrelevant; it's first and foremost an education tool.
Comment 15 Pau Amma 2020-11-17 22:45:16 UTC
Created attachment 219774 [details]
Adds new virtual category "education", revision 2

Sync diff with repo changes, add moodle310.

Does it also need a CHANGES entry?
Comment 16 Adam Weinberger freebsd_committer freebsd_triage 2020-11-20 01:38:56 UTC
(In reply to PauAmma from comment #15)

Yes please on the CHANGES entry. It gives an opportunity to suggest what the category should be used for, even if it's just "education stuff."
Comment 17 Adam Weinberger freebsd_committer freebsd_triage 2020-11-20 02:28:26 UTC
Comment on attachment 219774 [details]
Adds new virtual category "education", revision 2

I like this category. Thanks for doing the work on it!

The patch looks good with two trivial things: the VALID_CATEGORIES line is really long now and should probably get rewrapped. Also a CHANGES entry along with or soon after the commit please.
Comment 18 Pau Amma 2020-11-20 02:38:07 UTC
(In reply to Adam Weinberger from comment #17)

OK, will tweak the patch. What goes into the AUTHOR for the CHANGES entry, me, or the committer? (In the latter case, I'll have to leave that field empty, since I don't know who that will be.)
Comment 19 Adam Weinberger freebsd_committer freebsd_triage 2020-11-20 02:51:21 UTC
(In reply to PauAmma from comment #18)

You should put your name so that people who hate education can yell at you and not me :-)
Comment 20 Pau Amma 2020-11-20 06:13:18 UTC
Created attachment 219826 [details]
Adds new virtual category "education", revision 3

Address changes requested by portmgr:
- Insert linebreaks into long lines for categories
- Add CHANGES entry
While there, bump CHANGES copyright year.
Comment 21 commit-hook freebsd_committer freebsd_triage 2020-11-20 07:16:32 UTC
A commit references this bug:

Author: adamw
Date: Fri Nov 20 07:16:23 UTC 2020
New revision: 555738
URL: https://svnweb.freebsd.org/changeset/ports/555738

Log:
  Add education virtual category

  PR:		248402
  Submitted by:	PauAmma

Changes:
  head/CHANGES
  head/Mk/Scripts/desktop-categories.sh
  head/Mk/bsd.port.mk
  head/astro/marble/Makefile
  head/astro/nightfall/Makefile
  head/biology/figtree/Makefile
  head/biology/py-scikit-bio/Makefile
  head/cad/basicdsp/Makefile
  head/cad/feappv/Makefile
  head/cad/logisim/Makefile
  head/comms/gtkmmorse/Makefile
  head/deskutils/docear/Makefile
  head/deskutils/fet/Makefile
  head/devel/elfkickers/Makefile
  head/devel/raylib/Makefile
  head/devel/thonny/Makefile
  head/emulators/edumips64/Makefile
  head/games/anki/Makefile
  head/games/colobot/Makefile
  head/games/crashtest/Makefile
  head/games/crrcsim/Makefile
  head/games/gcompris-qt/Makefile
  head/games/kanagram/Makefile
  head/games/katomic/Makefile
  head/games/nimuh/Makefile
  head/games/py-mnemosyne/Makefile
  head/games/robocode/Makefile
  head/games/robocode-naval/Makefile
  head/games/tuxmath/Makefile
  head/games/tuxtype/Makefile
  head/graphics/geomview/Makefile
  head/graphics/libreatlas/Makefile
  head/japanese/kiten/Makefile
  head/japanese/slimeforest/Makefile
  head/lang/kturtle/Makefile
  head/math/R-cran-LearnBayes/Makefile
  head/math/analitza/Makefile
  head/math/geogebra/Makefile
  head/math/geonext/Makefile
  head/math/kalgebra/Makefile
  head/math/kbruch/Makefile
  head/math/kig/Makefile
  head/math/kmplot/Makefile
  head/math/rocs/Makefile
  head/math/timbl/Makefile
  head/math/ump/Makefile
  head/misc/artikulate/Makefile
  head/misc/kdeedu/Makefile
  head/misc/kgeography/Makefile
  head/misc/klettres/Makefile
  head/misc/ktouch/Makefile
  head/misc/kwordquiz/Makefile
  head/misc/lingoteach/Makefile
  head/misc/parley/Makefile
  head/misc/pauker/Makefile
  head/misc/py-orange3-educational/Makefile
  head/multimedia/projectx/Makefile
  head/net/ns3/Makefile
  head/print/jabref/Makefile
  head/science/fisicalab/Makefile
  head/science/kalzium/Makefile
  head/science/libccp4/Makefile
  head/science/py-qspin/Makefile
  head/science/step/Makefile
  head/sysutils/hourglass/Makefile
  head/textproc/popup/Makefile
  head/textproc/py-nltk/Makefile
  head/www/efront/Makefile
  head/www/ilias/Makefile
  head/www/ilias6/Makefile
  head/www/moodle310/Makefile
  head/www/moodle35/Makefile
  head/www/moodle37/Makefile
  head/www/moodle38/Makefile
  head/www/moodle39/Makefile
  head/www/sakai/Makefile
Comment 22 Adam Weinberger freebsd_committer freebsd_triage 2020-11-20 07:17:04 UTC
Committed. Thanks for your work on this!
Comment 24 commit-hook freebsd_committer freebsd_triage 2020-11-20 11:06:05 UTC
A commit references this bug:

Author: 0mp
Date: Fri Nov 20 11:05:59 UTC 2020
New revision: 555755
URL: https://svnweb.freebsd.org/changeset/ports/555755

Log:
  Revert parts of r555738 which were probably not meant to be committed

  PR:		248402
  Reported by:	Franco Fichtner <franco@opnsense.org>
  Approved by:	portmgr blanket

Changes:
  head/Mk/bsd.port.mk