Commit graph

8017 commits

Author SHA1 Message Date
Jools Wills
836d7b91e2 vice - add vice-c64dtv to emulator choices 2021-03-02 03:25:55 +00:00
Jools Wills
81fc3a964b vice - switch to v3.5 branch
There are audio issues on the RPI with the current HEAD version. But also we have had to update this
scriptmodule a fair amount due to upstream changes, and it would be better now to stick to the latest
stable version. Previously there were less frequent "stable" releases also.

The v3.5 version seems to work without issue.
2021-03-02 03:10:09 +00:00
Jools Wills
cdee38f135 packages - fix subversion version checks
Use "Last Changed Rev:" rather than "Revision:" as we want the last revision for the URL/branch/tag
rather than the last revision for the repository.

Don't just compare commits if the commit is HEAD (used for svn repos) as it's not a static commit but
references the latest commit.
2021-03-02 03:06:16 +00:00
Jools Wills
c32ffe4236 setup - added per package menu option to show package info
Adds an option to show some of the main retropie.pkg information for an installed package.

Will be expanded in the future, but it's useful to see more information about what is installed now we have it.
2021-03-02 00:18:55 +00:00
Jools Wills
9b3371e800 builder - only build binaries when newer
Copy retropie.pkg to archive folder named as $md_id.pkg and use this in rp_hasNewerModule if no installed
package is found. Adjust the builder code to check for a newer source package to utilise this so we only
rebuild binaries as are needed.
2021-03-01 23:08:53 +00:00
Jools Wills
4709f5adee attractmode - checkout the main repository first, for compatibility with source checking
Previously the location of the sfml-pi repo would be used as it was called first on the RPI,
which would mean an update is always done as the sfml-pi hash would have been stored rather than the
main repository. Ideally we would handle it so if either repository updates, but that requires a fair
amount of additional code as with mupen64plus and it's not work it for this - the sfml-pi code doesn't
change that often and better to just base it on the core code
2021-03-01 22:55:05 +00:00
Jools Wills
8fb0ad61b7 packages - increase curl timeout for remote file exists check to 10 seconds
Some users reported issues and it was taking between 5 and 6 seconds - which points to an connectivity issue
really, as it's a small HEAD request. However increasing the timeout will help for these users.

This is a quick fix, as I will look into improving the error msgs also.
2021-03-01 17:58:34 +00:00
cmitu
d9a91d040c runcommand: include Skyscraper paths for launching images 2021-02-28 05:02:24 +00:00
Jools Wills
b3c1d15fda dxx-rebirth - remove leftover debugging default commit of moooo :-) sorry 2021-02-25 05:03:35 +00:00
Jools Wills
2a3cbf9497 packages - cosmetic, the, not the the 2021-02-24 19:37:11 +00:00
Jools Wills
b3a73c097b
Merge pull request #3315 from joolswills/repo_tag_ref_check_fix
packages - handle git repositories with two tag references
2021-02-24 16:47:50 +00:00
Jools Wills
4a285bb1c2 packages - handle git repositories with two tag references
When the remote repository uses an annotated Git tag, the real commit is found
by looking for the "tag^{}" reference, since the the tag ref will point to the
tag object itself, instead of the tagged commit. See gitrevisions(7).
2021-02-24 16:46:32 +00:00
Jools Wills
e54b8fab2f
Merge pull request #3316 from cmitu/cgenius-updates
cgenius: update to the latest stable version
2021-02-23 05:11:50 +00:00
cmitu
770fd17af3 cgenius: update to the latest stable version
* Bug fixes
* GUI, sound and controller improvements.
* Boost is no longer required, replaced with TinyXML2.
* Python scripting engine replaced with Lua (included).
2021-02-23 04:40:39 +00:00
Jools Wills
ab88a0b6bc fixed some left over references to __mod_section[$id] to __mod_info[$id/section] 2021-02-22 03:22:45 +00:00
Jools Wills
14b0376d93 fixed some left over references to __mod_flags[id] to __mod_info[id/flags] 2021-02-22 03:14:59 +00:00
Jools Wills
b7dcd612e3 vvvvvv - rollback prior to SDL_zeroa usage which requires newer than SDL 2.0.10
Seems an odd choice to use such a new upstream macro/function - but as we are on SDL 2.0.10
still while kms issues are still present with upstream code, for now it's easiest to rollback to an
earlier commit.
2021-02-22 02:56:13 +00:00
Jools Wills
fb5a22cfb7 retropie-setup - bump version to 4.7.9 2021-02-22 02:44:38 +00:00
Jools Wills
ff9bdad6cc system / packages - allow bypassing signing when creating binaries for testing
Also moved the retropie email used for checking to __gpg_retropie_key and use this rather than __gpg_signing_key
as we hardcode the install of the actual key - so the logic didn't make sense in the case of wanting to sign
with another key. But __gpg_signing_key can now be set to an empty string to bypass signing of binaries as used
by the build scripts. This is only useful for developers/testing binary creation on systems without our signing key.
2021-02-22 02:36:17 +00:00
Jools Wills
348c10514b added md_ret_require for some ports that were missing it
mysticmine still lacks a check - but this module needs checking as it relies on python2 also which will
an issue in the future
2021-02-22 02:09:35 +00:00
Jools Wills
7384f8a395 added md_ret_require checks to some emulators that didn't have it
This allows our packaging core to know if a build failed
2021-02-22 01:18:30 +00:00
Jools Wills
b590028119 dosbox / vice - remove subversion dependency as it's installed by RetroPie system depends 2021-02-22 00:43:29 +00:00
Jools Wills
95485d7b33
Merge pull request #3312 from cmitu/lzdoom-update-3.x
lzdoom: update to 3.87c
2021-02-21 22:28:15 +00:00
Jools Wills
1268c480e2
Merge pull request #3314 from rusher/master
dolphin - correct build from source script
2021-02-21 13:46:35 +00:00
rusher
e6bef69f28 dolphin - correct build from source script
After recent modification of dolphin.sh, build from source failed, because 2 branches are set in git command.
2021-02-21 14:31:17 +01:00
cmitu
0b2f3d5a3f lzdoom: update to 3.87c
Looks like GL2 compatibility has been kept for LZDoom versions post 3.86, so we can update to the latest 3.x release tag.

Other:
* Removed the CFLAGS manipulation, since the math optimizations have been removed in c3751a4f0e, but left the warning for building with `-funsafe-math-optimizations`
* Use the direct link to the license page
2021-02-18 08:13:39 +00:00
Jools Wills
88a857498e
Merge pull request #3311 from cmitu/openmsx-update-2
openmsx: fix building on Ubuntu 18.04/GCC 7
2021-02-18 04:18:55 +00:00
cmitu
945c0166ae openmsx: fix building on Ubuntu 18.04/GCC 7 2021-02-17 14:36:21 +02:00
Jools Wills
3e3047dee0 lr-fbneo - re-order configure and skip config/folder setup on removal 2021-02-16 04:53:06 +00:00
Jools Wills
8f8118facb setup - allow updating of OS packages on non Raspberry Pi OS systems 2021-02-16 00:59:26 +00:00
Jools Wills
d31164668a helpers / setup - add --ff-only for git pull to avoid warnings on recent versions of git 2021-02-16 00:31:03 +00:00
Jools Wills
1968cee746 retropie-setup - bump version to 4.7.8 2021-02-16 00:26:40 +00:00
Jools Wills
51781ecae5 setup - remove "Not available for your system" for disabled modules in manage packages
The message was overly verbose and cluttered the menu a bit. The red colour should be enough but choosing
the disabled package shows a dialog with information anyway.
2021-02-16 00:25:55 +00:00
Jools Wills
bd55b04fd6
Merge pull request #3302 from joolswills/repo_version_check
Repo version check
2021-02-16 00:21:55 +00:00
Jools Wills
f157793263 packages - add some output when checking for updates
Useful for logging, and if lots of modules are installed but are all up to date it is useful to see
some progress.
2021-02-15 23:54:13 +00:00
Jools Wills
86122e647b setup - don't allow running main menu install/update options if no connection is detected 2021-02-15 23:54:13 +00:00
Jools Wills
927b9922df setup / packages - fix up installing retropiemenu / runcommand without a network connection
The previous changes to check for an internet connection to avoid showing options to update failed
with these modules as they have install_bin functions which are handled by rp_hasBinary but don't
require an internet connection.

To workaround this, I have added a "nonet" flag, which if set, will force has_net to 1 in setup and packages
so the install options will show, and they can be removed and reinstalled even if no network connection is available.

runcommand can still fail due to not being able to install mesa-drm - which will be reported, but it's safer to allow
the main runcommand to be installed even without mesa-drm in case of accidental removal.
2021-02-15 23:54:13 +00:00
Jools Wills
2c0f618198 packages - fix issue with previously set pkg_origin
Reworked rp_loadPackageInfo to clear package information in __mod_info and defaulting pkg_origin to "unknown".
The pkg_origin was set on module load before, but this isn't enough as it was remembered when removing a package,
so wouldn't be set back to the default if no package information was found. This caused installing from a section
to install from the last pkg_origin rather than the default of "unknown" if installing a package that had been removed.

The default is best handled here also, so we have less related code in other functions.
2021-02-15 23:54:13 +00:00
Jools Wills
687a250187 packages / setup - quietly handle issues with unparseable dates 2021-02-15 23:54:13 +00:00
Jools Wills
587b96b777 packages - cache rp_hasBinary and rp_hasNewerModule results
Unless there is an error, cache the return result for rp_hasBinary and rp_hasNewerModule
and clear when running rp_setModuleInfo or removing a module.

Reworked the rp_hasNewerModule code to have a single return point to allow us to cache the result.

This speeds up navigating Setup menus.
2021-02-15 23:54:13 +00:00
Jools Wills
ed20022055 packages / setup - rework logic to handle cases where there is no internet connection 2021-02-15 23:54:13 +00:00
Jools Wills
e41558200e packages - fix logic for when a module is using an 8 character commit hash
If a module chooses a specific commit via rp_module_repo (directly or via a hook) using the first 8
characters of the git hash, only compare against the first 8 characters of our installed package hash.

This should fix any cases where an older commit is used for a module, but would not match, so a git ls-remote
would be called, which would get the last commit, and an update would be forced when not needed.
2021-02-15 23:54:13 +00:00
Jools Wills
4f96051851 mupen64plus - rework logic with new rp_module_repo hook to check for updates
Split off the code to get the various repos depending on platform, adding default branch names.

Add a _pkg_info_mupen64plus function which takes get/newer/check parameters from the main packaging code.

If "get" is called, we check all used repositories, getting the last commit hash of each repo, and make
a md5 checksum which is stored in pkg_repo_extra.

If "newer" is called, we check the remote hashes of all repositories, make a md5 checksum and compare against
installed package pkg_repo_extra.

Switched the hash for GLideN64 for older cmake to a full hash, so we generate the same md5sum also.

If "check" is called (only currently used by our tools module for checking repo validity) it checks all the
repos, outputting any errors, and returns 1 if any of them failed.

This is a lot of extra code, but it's only this module which requires this complexity - we could have just
used the main repository, but as some of the plugins are more actively developed at times, it made sense to
want to update if any of the plugin repositories were changed also. This seemed the best way to do it, but
the additional hook functionality could be used with other modules in the future if it was needed.
2021-02-15 23:54:13 +00:00
Jools Wills
5dd84579e4 tools - use new rp_getRemoteRepoHash function to simpify code
If a module has a function hook for rp_module_repo then call it with the parameter "check"

The function should output any errors, and return 1 if an error is encountered after all checks are complete.
2021-02-15 23:54:13 +00:00
Jools Wills
f2555854c9 packages - add support for module handling of rp_module_repo via hook as first parameter
If the first parameter of rp_module_repo starts with a : it the following function will be called
when setting package information during source install, and when checking for a new source version.

The function takes the parameters "get" and "check".

"get" - should return code to set any packaging variables needed for the module hook later.

The pkg_repo_extra field has been added specifically for modules to store something different from the
standard fields also

"newer" will be called with pkg_repo_* vars set, and can be used by the function hook to determine if
a new version is available. If so, the function should return 0, or 1 if no update is required.

I also split off checking remote repo hash/commit to separate function and fix up an issue with checking
remote git hash, as previously a branch or tag could have multiple matches - we now specifically grep
the results for ref/heads and ref/tags
2021-02-15 23:54:13 +00:00
Jools Wills
c76aeafede updated some more modules with rp_module_repo that "should" work ok now 2021-02-15 23:54:13 +00:00
Jools Wills
5010c5fd69 Use rp_module_repo for some packages that don't install to md_build by default
Mostly drivers and supplementary packages - most install to md_inst which should be handled better now,
but also adjusted sixaxis to use md_build rather than a subfolder in md_build as it didn't seem to require it.
2021-02-15 23:54:13 +00:00
Jools Wills
25573f57d9 packages / helpers - record git checkout dir in gitPullOrClone for use in rp_setPackageInfo 2021-02-15 23:54:13 +00:00
Jools Wills
4c99509c76 Updating modules to use the new rp_module_repo function hooks
ppsspp was incorrectly changed in 23b154b4 as it uses a subfolder which needs to be specified
2021-02-15 23:54:13 +00:00
Jools Wills
272777bb36 packages / helpers - allow rp_module_repo to have function hooks as parameters
rp_module_repo is currently in the format

TYPE URL BRANCH COMMIT

where type is file, git or svn

If rp_module_repo URL BRANCH or COMMIT starts with a : the rest is considered to be a function that
will return the URL, BRANCH, or COMMIT via an echo. This allows for using of the new rp_module_repo
by modules that use some logic to determine what branch / commit is used.

eg. Some modules will use an older branch based on the system they are running on.

These variables are resolved before use, as some modules query the net for information, so we only
want to check these just before they are used.
2021-02-15 23:54:13 +00:00