#!/bin/bash -ex # This script generates the appdata.xml and org.citra.$REPO_NAME.json files # needed to define application metadata and build citra depending on what version # of citra we're building (nightly or canary) # Converts "citra-emu/citra-nightly" to "citra-nightly" REPO_NAME=$(echo $TRAVIS_REPO_SLUG | cut -d'/' -f 2) # Converts "citra-nightly" to "Citra Nightly" REPO_NAME_FRIENDLY=$(echo $REPO_NAME | sed -e 's/-/ /g' -e 's/\b\(.\)/\u\1/g') # Generate the correct appdata.xml for the version of Citra we're building cat > /tmp/appdata.xml < org.citra.$REPO_NAME.desktop $REPO_NAME_FRIENDLY Nintendo 3DS emulator CC0-1.0 GPL-2.0

Citra is an experimental open-source Nintendo 3DS emulator/debugger written in C++. It is written with portability in mind, with builds actively maintained for Windows, Linux and macOS.

Citra emulates a subset of 3DS hardware and therefore is useful for running/debugging homebrew applications, and it is also able to run many commercial games! Some of these do not run at a playable state, but we are working every day to advance the project forward. (Playable here means compatibility of at least "Okay" on our game compatibility list.)

https://citra-emu.org/ https://citra-emu.org/donate/ https://github.com/citra-emu/citra/issues https://citra-emu.org/wiki/faq/ https://citra-emu.org/wiki/home/ https://raw.githubusercontent.com/citra-emu/citra-web/master/site/static/images/screenshots/01-Super%20Mario%203D%20Land.jpg https://raw.githubusercontent.com/citra-emu/citra-web/master/site/static/images/screenshots/02-Mario%20Kart%207.jpg https://raw.githubusercontent.com/citra-emu/citra-web/master/site/static/images/screenshots/28-The%20Legend%20of%20Zelda%20Ocarina%20of%20Time%203D.jpg https://raw.githubusercontent.com/citra-emu/citra-web/master/site/static/images/screenshots/35-Pok%C3%A9mon%20ORAS.png Games Emulator
EOF # Generate the citra flatpak manifest, appending certain variables depending on # whether we're building nightly or canary. cat > /tmp/org.citra.$REPO_NAME.json <> /app/share/applications/citra.desktop", "install -Dm644 ../dist/citra.svg /app/share/icons/hicolor/scalable/apps/citra.svg", "install -Dm644 ../dist/icon.png /app/share/icons/hicolor/512x512/apps/citra.png", "mv /app/share/mime/packages/citra.xml /app/share/mime/packages/org.citra.$REPO_NAME.xml", "sed 's/citra/org.citra.citra-nightly/g' -i /app/share/mime/packages/org.citra.$REPO_NAME.xml", "install -m644 --target-directory=/app/lib /usr/lib/sdk/gcc7/lib/libstdc++.so*" ], "sources": [ { "type": "git", "url": "https://github.com/citra-emu/$REPO_NAME.git", "branch": "$TRAVIS_BRANCH", "disable-shallow-clone": true }, { "type": "file", "path": "/tmp/appdata.xml" } ] } ] } EOF # Call the script to build citra /bin/bash -ex /citra/.travis/linux-flatpak/docker.sh