Difference between revisions of "Compiling on OpenBSD"
Line 9: | Line 9: | ||
=== Preparation === | === Preparation === | ||
− | As a normal user install the following packages (using | + | As a normal user install the following packages (using ''doas pkg_add packageName1 packageName2 ... packageNameN''). These will pull in a number of other packages as well, some of them will be required by a Mudlet build and some are optional as indicated: |
:{| class="wikitable sortable" | :{| class="wikitable sortable" | ||
Line 26: | Line 26: | ||
|- | |- | ||
| lib-zip | | lib-zip | ||
− | | Required to build at least one Luarock | + | | Required to build at least one Luarock ''lua-zip'' that Mudlet uses. |
|- | |- | ||
| mozilla-dicts-en-GB | | mozilla-dicts-en-GB | ||
− | | the Mudlet application normally looks for a (Hunspell compatible) | + | | the Mudlet application normally looks for a (Hunspell compatible) "affix" file called ''en_US.aff'' (though the '_' can be a '-' and the second part can be lower-cased) which is used in conjunction with the corresponding American English "dictionary" file ''en_US.dic'' to find installed "system" spelling dictionaries. On OpenBSD these type of files are provided for the Mozilla organisation's FireFox web-browser and Thunderbird mail client. However there does not appear to be an external Hunspell dictionary for that language available in this operating system (perhaps it is internalised in those products); so my initial proposed Mudlet changes for this operating system only will look instead for the British English equivalent ''en_GB.aff'' instead. It would be useful to install as many of the other '''mozilla-dicts-*''' packages as required. |
|- | |- | ||
| pugixml | | pugixml | ||
Line 38: | Line 38: | ||
|- | |- | ||
| qtkeychain | | qtkeychain | ||
− | | Optional, Mudlet has a copy within its third party code but better integration with the OS will happen if the OS's package is used (and the environmental variable ''WITH_OWN_QKEYCHAIN'' exists and is set to ''NO'' during compilation. | + | | Optional, Mudlet has a copy within its third party code but better integration with the OS will happen if the OS's package is used (and the environmental variable ''WITH_OWN_QKEYCHAIN'' exists and is set to ''NO'' during compilation). |
|- | |- | ||
| qtmultimedia | | qtmultimedia | ||
− | | Required but not included by default installation of qtbase | + | | Required but not included by default installation of qtbase(?). |
|- | |- | ||
| gcc%11 | | gcc%11 | ||
− | | The partial version number is required to | + | | The partial version number is required to disambiguate between multiple GCC compiler versions (currently they are 8.4.0p11 and 11.2.0p2 but this could change in the future, '''%11''' is sufficient currently to get the later one). |
|- | |- | ||
| gmake | | gmake | ||
Line 53: | Line 53: | ||
|- | |- | ||
| unzip-- | | unzip-- | ||
− | | The '''--''' is needed to disambiguate between two | + | | The '''--''' is needed to disambiguate between two flavours of the utility, with and without a '''-iconv''' suffix, either can be used, and this selects the one without, without asking. |
|} | |} | ||
Revision as of 19:02, 24 September 2022
Compiling on OpenBSD
PRELIMINARY, IN PROGRESS
This represents work done by SlySven (his GitHub Mudlet repository is here) a member of the Core Developers of Mudlet. At the time of writing some changes to the Mudlet source code are still required to accommodate this operating system. Only the qmake project build system has been tested/used so far.
This is NOT in itself an official OpenBSD "port" or a "package" (though perhaps it might lead to one), instead it should compile an executable application that can be run by the user who compiles it; however it has not been developed enough yet such that it could be made available and run by any other local machine account holder (user).
Preparation
As a normal user install the following packages (using doas pkg_add packageName1 packageName2 ... packageNameN). These will pull in a number of other packages as well, some of them will be required by a Mudlet build and some are optional as indicated:
Package name Notes git Required to obtain the Mudlet (and its third-party git submodules). hunspell Dictionary files are also needed - see mozilla-dicts-en-GB. lua%5.1 Required, the partial version number is also needed to get the "flavor" of Lua that Mudlet needs. lib-zip Required to build at least one Luarock lua-zip that Mudlet uses. mozilla-dicts-en-GB the Mudlet application normally looks for a (Hunspell compatible) "affix" file called en_US.aff (though the '_' can be a '-' and the second part can be lower-cased) which is used in conjunction with the corresponding American English "dictionary" file en_US.dic to find installed "system" spelling dictionaries. On OpenBSD these type of files are provided for the Mozilla organisation's FireFox web-browser and Thunderbird mail client. However there does not appear to be an external Hunspell dictionary for that language available in this operating system (perhaps it is internalised in those products); so my initial proposed Mudlet changes for this operating system only will look instead for the British English equivalent en_GB.aff instead. It would be useful to install as many of the other mozilla-dicts-* packages as required. pugixml Required. qtgamepad Optional but Mudlet can use the gamepads that Qt supports with this module. qtkeychain Optional, Mudlet has a copy within its third party code but better integration with the OS will happen if the OS's package is used (and the environmental variable WITH_OWN_QKEYCHAIN exists and is set to NO during compilation). qtmultimedia Required but not included by default installation of qtbase(?). gcc%11 The partial version number is required to disambiguate between multiple GCC compiler versions (currently they are 8.4.0p11 and 11.2.0p2 but this could change in the future, %11 is sufficient currently to get the later one). gmake GNU make used by qmake-qt5 qttools Provides qmake-qt5 and other tools needed to build Mudlet from the "qmake" project file (./src/mudlet.pro in the Mudlet source code). unzip-- The -- is needed to disambiguate between two flavours of the utility, with and without a -iconv suffix, either can be used, and this selects the one without, without asking.
rockname lrexlib-pcre lua-yajl luafilesystem luasql-sqlite3 luautf8 luazip or lua-zip