diff --git a/.travis.yml b/.travis.yml index 0be3fa93a..d9f412848 100755 --- a/.travis.yml +++ b/.travis.yml @@ -42,3 +42,21 @@ script: - export NUMBER_OF_PROCESSORS=2 - sudo chmod 755 travis-build.sh - "./travis-build.sh" +before_deploy: +- cd ../../ +- mkdir -p artifacts/$GIT_BUILD/ +- cp shell/android-studio/reicast/build/outputs/apk/dreamcast/debug/reicast-dreamcast-debug.apk artifacts/$GIT_BUILD/reicast-debug-$GIT_HASH.apk +deploy: + provider: s3 + access_key_id: AKIAJOZQS4H2PHQWYFCA + secret_access_key: + secure: $S3_SECRET_KEY + bucket: flycast-builds + local-dir: artifacts + upload-dir: android + acl: public_read + skip_cleanup: true + on: + all_branches: true +repo: flyinghead/reicast-emulator + diff --git a/README.md b/README.md index 07bb44e7b..c6c037132 100644 --- a/README.md +++ b/README.md @@ -1,191 +1,11 @@ -[![Snap Status](https://build.snapcraft.io/badge/reicast/reicast-emulator.svg)](https://build.snapcraft.io/user/reicast/reicast-emulator) - reicast =========== **reicast** is a multi-platform Sega Dreamcast emulator. -This is a developer-oriented resource, if you just want bins head over to http://reicast.com/ - -For development discussion, join [#reicast in freenode](https://webchat.freenode.net/?channels=reicast) - or stop by the [reicast Discord server](http://discord.gg/Hc6CF72) - -Rebranding/(hard)forks ----------------- -If you are interested into further porting/adapting/whatever, *please* do not fork off. -We hate that. **Really**. - -Let's try to keep everything under a single project :) - -Submitting Issues ----------------- -Please take a moment to search the open issues for one similar to yours and add your info to it. -If you cannot find a similar issue, click the 'New Issue' button and make sure to fill out the form. - -*Please Note:* -Duplicate issues may be closed with a link to the existing issue. -Bugs that do not include a form may be closed until it is filled out. - -Contributing ------------- -- For small/one-off fixes, a PR from a GitHub fork is alright. -- For longer term collaboration, we prefer to use namespaced branches in the form of `/` in the main repo. - -Before you work on something major, make sure to check the issue tracker to coordinate with other contributors, and open an issue to get feedback before doing big changes/PRs. It is always polite to check the history of the code you're working on and collaborate with the people that have worked on it. You can introduce yourself in [Meet the team](https://github.com/reicast/reicast-emulator/issues/1113). - -Everything goes to master via PRs. Test builds are run automatically for both internal and external PRs, and generally should pass unless there's a really good reason for breakage. You might want to check our [CLA](https://gist.github.com/skmp/920357e9d3a7733234ade1eb465367cc), which is required to have your changes merged. - -If you are looking for somewhere to start, look for issues marked [good first issue](https://github.com/reicast/reicast-emulator/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) or [help wanted](https://github.com/reicast/reicast-emulator/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) - -Supporting the project / donations -------------------- -Well, glad you liked the project so far! We want to switch to a "donation-driven-development" model so that we are not forced to pay out of out pockets for the project costs, and so that contributors can have a source of income to cover food and housing costs. - -We accept monetary donations via bountysource at https://salt.bountysource.com/teams/reicast or IBAN transfers to `CH65 0070 0110 0052 6460 1, Stefanos Kornilios Mitsis Poiitidis, 8005 Zürich`. Please note that IBAN donations will appear as `Anonymous` for now. - -You can also directly add bounties to tickets that are of interest to you at https://www.bountysource.com/teams/reicast, though supporting the project via a small monthly donation is preffered. Every $5 helps. - -We will use the donations to cover administrative and hosting costs (~$100/mo), buy hardware and to sponsor development & testing. - -If you want to do hardware or other non-monetary donations, please contact donations@reicast.com. - -Please help us to make this project self-sustainable. -Thank you for your support! - -Notable Donors --------------- -- Twinaphex / RetroArch Team - introduced us to bountysource, has sponsored the development of a few tickets -- anothername99 - First bounty not posted by RA -- Raco Centrente - First donation from a 3rd party -- (And, of course, all the people that have worked pro-bono over the past 20 years. That is priceless. Thank you!) - -Building for Android --------------------- -Tools required: -* Latest Android SDK - - http://developer.android.com/sdk/index.html -* NDK r8b or newer - - https://developer.android.com/tools/sdk/ndk/index.html - - If are not using r9c+, comment the "NDK_TOOLCHAIN_VERSION := 4.8" in shell/android/jni/Application.mk and shell/android/xperia/jni/Application.mk -* Android 5.0.1 (API 21) & Android 2.3.1 (API 9) - - http://developer.android.com/sdk/installing/adding-packages.html - - note that API 9 is hidden (you must check to show obsolete in SDK manager) -* Ant - - http://ant.apache.org/ - -From project root directory: -``` -export ANDROID_NDK=/ # Type the full path to your NDK here - -cd shell/android/ - -android update project -p . --target "android-21" - -ant debug -``` - -Building for iOS / MacOS ---- -Requirements: - -[Latest Xcode](https://developer.apple.com/xcode/downloads/) - -* [iOSOpenDev](http://iosopendev.com/download/) if developing without an official Apple certificate - - -| iOS | Mac | -| -------------- | ---------------------- | -| An iOS device | A Mac | -| iOS 5.x ~ 7.x | macOS 10.13.3 (17D102) | - -From project root directory: - -| iOS | Mac | -| --------------- | ----------------------------- | -| `cd shell/ios/` | `cd shell/apple/emulator-osx` | - -`xcodebuild -configuration Release` - -Or open the .xcodeproj in Xcode and hit "Build". - -Building for Linux ------------------- -### Using traditional make -- Requirements: - * build-essential - * libasound2 - * libegl1-mesa-dev - * libgles2-mesa-dev - * libasound2-dev - * mesa-common-dev - * libgl1-mesa-dev - -- From project root directory: -``` -cd shell/linux - -make -``` - -### Using snap -- Refer to our [snap README](https://github.com/reicast/reicast-emulator/tree/master/snap/README.md) - -Translations ------------- -New and updated translations are always appreciated! -All we ask is that you not use “regional” phrases that may not be generally understood. - -Translations can be submitted as a pull request - - -Development/Beta versions -------------- -| Platform | Status | Downloads -| -------------------------------------------------- | -------------- | --------- -| ![Android](http://i.imgur.com/nK9exQe.jpg) Android | [![Build Status](https://travis-ci.org/reicast/reicast-emulator.svg?branch=master)](https://travis-ci.org/reicast/reicast-emulator) | [Reicast CI Builds](http://builds.reicast.com) -| ![iOS](http://i.imgur.com/6bvAUUj.png) iOS | [![Build Status](https://app.bitrise.io/app/d082ed2fb1bdeeef.svg?token=39zhSBFh-b9YVJw8q91omw)](https://app.bitrise.io/app/d082ed2fb1bdeeef#/builds) | *TODO* -| ![Windows](http://i.imgur.com/hAuMmjF.png) Windows | [![Build status](https://ci.appveyor.com/api/projects/status/353mwl73ki74tb58/branch/master?svg=true)](https://ci.appveyor.com/project/skmp/reicast-emulator/branch/master) | [Reicast CI Builds](http://builds.reicast.com) -| ![Linux](http://i.imgur.com/19aAoQD.png) Linux | [![wercker status](https://app.wercker.com/status/bcabca642a2de044c6f58203b975878b/s/master "wercker status")](https://app.wercker.com/project/bykey/bcabca642a2de044c6f58203b975878b) | *TODO* -| ![OSX](http://i.imgur.com/0YoI5Vm.png) OSX | *TODO* | *TODO* - - -Additional builds (iOS & android) can be found at [angelxwind's](http://reicast.angelxwind.net/) buildbot and [Random Stuff "Daily/Nightly/Testing" PPA](https://launchpad.net/~random-stuff/+archive/ubuntu/ppa) (for Ubuntu). - - -Other Testing -------------- -Devices tested by the reicast team: -* Apple iPhone 4 GSM Rev0 (N90AP) -* Apple iPhone 4 CDMA (N92AP) -* Apple iPod touch 4 (N81AP) -* Apple iPod touch 3G (N18AP) -* Apple iPhone 3GS (N88AP) -* Apple iPhone 5s -* Apple iPad 3 -* Sony Xperia X10a (es209ra) -* Amazon Kindle Fire HD 7 (tate-pvt-08) -* Nvidia Shield portable -* Nvidia Shield tablet -* Samsung Galaxy Note 4 -* LG Nexus 5 -* LG Nexus 5X -* Asus Nexus 7 (2013) - - -Team ----- - -You can check the currently active committers on [the pretty graphs page](https://github.com/reicast/reicast-emulator/graphs/contributors) - -Our IRC channel is [#reicast @ chat.freenode.net](irc://chat.freenode.net/reicast). - -The original reicast team consisted of drk||Raziel (mostly just writing code), -PsyMan (debugging/testing and everything else) and a little bit of gb_away - -Special thanks --------------- -In previous iterations a lot of people have worked on this, notably David -Miller (aka, ZeZu), the nullDC team, friends from #pcsx2 and all over the world :) - -[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/reicast/reicast-emulator/trend.png)](https://bitdeli.com/free "Bitdeli Badge") - +Binaries +======== +Get fresh builds for your system [on the builds page](https://flyinghead.github.io/reicast-builds/) +Disclaimer +========== +All code contritbuted to this fork is *not* bound by the Individual Contributor License Agreement of the upstream repository (https://github.com/reicast/reicast-emulator) and shall *not* be considered as a contribution to the upstream repository. diff --git a/appveyor.yml b/appveyor.yml index 25380c839..61e761b36 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -9,9 +9,7 @@ platform: before_build: - cmd: >- - if "%CONFIGURATION%"=="RelWithDebInfo" (set BUILD_PATH=build) - - if "%CONFIGURATION%"=="fast" (set BUILD_PATH=shell\linux) + set BUILD_PATH=shell\linux set EXTRA_PATH=C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\ @@ -19,28 +17,36 @@ before_build: if not exist %BUILD_PATH% (mkdir %BUILD_PATH%) - if "%CONFIGURATION%"=="RelWithDebInfo" (cmake -B %BUILD_PATH% -G "Visual Studio 15 2017 Win64" -DCMAKE_CONFIGURATION_TYPES=RelWithDebInfo) - cd %BUILD_PATH% build_script: - cmd: >- - if "%CONFIGURATION%"=="RelWithDebInfo" (msbuild reicast.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll") - if "%CONFIGURATION%"=="fast" (mingw32-make platform=win32) + if "%CONFIGURATION%"=="naomi" (mingw32-make platform=win32 NAOMI=1) + after_build: - cmd: >- - if "%CONFIGURATION%"=="RelWithDebInfo" (cd .. && set EXE_PATH=build\RelWithDebInfo\reicast.exe) - if "%CONFIGURATION%"=="fast" (cd ..\.. && set EXE_PATH=shell\linux\nosym-reicast.exe) + if "%CONFIGURATION%"=="naomi" (cd ..\.. && set EXE_PATH=shell\linux\nosym-reicast.exe) + mkdir artifacts move %EXE_PATH% artifacts\reicast-win_%PLATFORM%-%CONFIGURATION%-%APPVEYOR_REPO_COMMIT%.exe - if "%CONFIGURATION%"=="fast" (copy %EXTRA_PATH%\libgcc_s_seh-1.dll artifacts && copy %EXTRA_PATH%\libwinpthread-1.dll artifacts && copy %EXTRA_PATH%\libgomp-1.dll artifacts) + copy %EXTRA_PATH%\libgcc_s_seh-1.dll artifacts && copy %EXTRA_PATH%\libwinpthread-1.dll artifacts && copy %EXTRA_PATH%\libgomp-1.dll artifacts artifacts: - path: artifacts name: reicast-win_$(PLATFORM)-$(CONFIGURATION)-$(APPVEYOR_REPO_COMMIT) +deploy: +- provider: S3 + access_key_id: AKIAJOZQS4H2PHQWYFCA + secret_access_key: + secure: Y/QobuGrBsa137sbi9a+UnvSLqpWITTCp5yFTgDJ4i1Gduyi9V7i/g3zLZ4s2J7d + bucket: flycast-builds + folder: 'win/heads/$(APPVEYOR_REPO_BRANCH)-$(APPVEYOR_REPO_COMMIT)' + artifact: reicast-win_$(PLATFORM)-$(CONFIGURATION)-$(APPVEYOR_REPO_COMMIT) + region: us-east-2 + set_public: true diff --git a/bitrise.yml b/bitrise.yml index ccbafee94..33a4c9791 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -18,8 +18,6 @@ workflows: run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' - git-clone@4.0.14: {} - cache-pull@2.0.1: {} - - script@1.1.5: - title: Do anything with Script step - certificate-and-profile-installer@1.10.1: {} - recreate-user-schemes@1.0.2: inputs: @@ -29,7 +27,13 @@ workflows: - project_path: "$BITRISE_PROJECT_PATH" - scheme: "$BITRISE_SCHEME" - export_method: "$BITRISE_EXPORT_METHOD" - - deploy-to-bitrise-io@1.3.19: {} + - amazon-s3-uploader@1.0.1: + inputs: + - aws_access_key: AKIAJOZQS4H2PHQWYFCA + - aws_secret_key: "$S3_SECRET_KEY" + - bucket_name: flycast-builds + - path_in_bucket: osx/$GIT_BUILD + - file_path: "$BITRISE_EXPORTED_FILE_PATH" - cache-push@2.1.1: {} deploy: envs: @@ -37,12 +41,17 @@ workflows: is_expand: false BITRISE_SCHEME: reicast-osx steps: - - activate-ssh-key@4.0.3: + - activate-ssh-key@4.0.3: run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' - git-clone@4.0.14: {} - cache-pull@2.0.1: {} - script@1.1.5: - title: Do anything with Script step + inputs: + - content: | + #!/bin/bash + export GIT_HASH=`git log --pretty=format:'%h' -n 1` + envman add --key GIT_HASH --value $GIT_HASH + envman add --key GIT_BUILD --value `git describe --all --always | sed 's/remotes\/origin/heads/'`-$GIT_HASH - certificate-and-profile-installer@1.10.1: {} - recreate-user-schemes@1.0.2: inputs: @@ -52,7 +61,13 @@ workflows: - project_path: "$BITRISE_PROJECT_PATH" - scheme: "$BITRISE_SCHEME" - export_method: "$BITRISE_EXPORT_METHOD" - - deploy-to-bitrise-io@1.3.19: {} + - amazon-s3-uploader@1.0.1: + inputs: + - aws_access_key: AKIAJOZQS4H2PHQWYFCA + - aws_secret_key: "$S3_SECRET_KEY" + - bucket_name: flycast-builds + - path_in_bucket: osx/$GIT_BUILD + - file_path: "$BITRISE_EXPORTED_FILE_PATH" - cache-push@2.1.1: {} app: envs: diff --git a/shell/apple/emulator-osx/emulator-osx/Base.lproj/MainMenu.xib b/shell/apple/emulator-osx/emulator-osx/Base.lproj/MainMenu.xib index 15a2e3655..ba45f4d6f 100644 --- a/shell/apple/emulator-osx/emulator-osx/Base.lproj/MainMenu.xib +++ b/shell/apple/emulator-osx/emulator-osx/Base.lproj/MainMenu.xib @@ -171,10 +171,10 @@ - - + + - + diff --git a/wercker.yml b/wercker.yml index 22d2c72db..959952cb8 100644 --- a/wercker.yml +++ b/wercker.yml @@ -11,3 +11,18 @@ build: - script: name: reicast x64 build code: make -C shell/linux platform=x64 + - script: + name: package app + code: | + mkdir s3 + pushd shell/linux + mv -f nosym-reicast.elf reicast + gzip reicast + popd + mv shell/linux/reicast.gz s3 + - s3sync: + source_dir: s3 + delete-removed: false + bucket-url: s3://flycast-builds/linux/heads/$WERCKER_GIT_BRANCH-$WERCKER_GIT_COMMIT/ + key-id: AKIAJOZQS4H2PHQWYFCA + key-secret: $S3_SECRET_KEY