Changed the build method by using Golang's module support and creating a module from the upstream sources. Fixes the current build errors due to a transitive depedency which requires upgrading Go to 1.17+.
This simplifies applying the patch and rolling back (downgrading) the TGDB module dependency. As a bonus, we can use the normal way of retrieving the sources and generating the scriptmodule `.pkg` info file.
Fixed also the `golang` installation, the new version was not installed automatically due to a insufficient version check.
Added the patch from @Torben2000 [1] which fixes scraping from the ScreenScraper source.
Can be removed when/if upstream (@sselph) accepts the changes in the main repository.
[1] https://github.com/sselph/scraper/pull/265
One of the depedencies updates has broke the `scraper` build [1].
Until the compatibility is restored (could happen) or scraper is updated (unlikely), just use a previous version of the dependent Go library.
[1] 06967c20ca (commitcomment-75241057)
* can't currently build binaries for the scraper module due to go1.8 not working in an emulated chroot with qemu. Build time is not long so it's ok to just skip this one.
* not really a configuration tool / allows removing now
* remove golang on removal, to save space. This will have to change if we have any other software that needs go1.8
* use noinstclean flag so golang isn't reinstalled if not needed
* remove from optional packages and make it hidden (as it's a dependency only)
* quieten wget output
* no need to check for folder before removing
some parameters were passed in the function while some were set in parent function - as this is a standalone function that can be called from the commandline, it meant some functionality was lost. Instead we now load the ini configuration in the scrape function so it can be used standalone and uses the saved settings
* rp_module_menus is no more - instead use rp_module_section with one of
- core (core packages)
- main (main packages - which will be installed by default in the image)
- opt (optional packages)
- exp (experimental packages)
- driver (driver packages)
- config (configuration packages / tools)
* The setup menu organises the data based on the above sections. more could be added in the future if needed. Packages (internally modules), can be added / configured / removed individually, or as entire sections.
* The setup menu will automatically detect if a binary is available to be installed. the nobin flag is no longer needed. modules that install directly from binary via aptInstall or via a prebuilt binary need to use an install_bin_ function instead of install_
* rp_module_section of type "config" will have the "gui_" function called first if it's available, otherwise a standard depends/sources/build/install/configure will be called
* configure is no longer used for "gui" configuration function - use gui_ instead. Had already started to move to this before, but now it is required.