Multi-platform (Android specifically) MediaGoblin client
Dylan Jeffers a1fdb0b832 Dependency updates: | %!s(int64=8) %!d(string=hai) anos | |
---|---|---|
extensions | %!s(int64=9) %!d(string=hai) anos | |
goblinoid | %!s(int64=9) %!d(string=hai) anos | |
images | %!s(int64=9) %!d(string=hai) anos | |
submodules | %!s(int64=9) %!d(string=hai) anos | |
.gitignore | %!s(int64=8) %!d(string=hai) anos | |
.gitmodules | %!s(int64=9) %!d(string=hai) anos | |
LICENSE | %!s(int64=9) %!d(string=hai) anos | |
MediaGoblin.jpg | %!s(int64=9) %!d(string=hai) anos | |
README.md | %!s(int64=9) %!d(string=hai) anos | |
buildozer.spec | %!s(int64=8) %!d(string=hai) anos | |
main.py | %!s(int64=9) %!d(string=hai) anos | |
mediagoblin.kv | %!s(int64=9) %!d(string=hai) anos | |
prebuildozer.sh | %!s(int64=9) %!d(string=hai) anos | |
requirements.txt | %!s(int64=9) %!d(string=hai) anos | |
setup.py | %!s(int64=9) %!d(string=hai) anos |
I. General Information
Project name: MediaGoblin
Current devs: Dylan Jeffers, Christopher Webber
Outline: Android App for MediaGoblin using PyPump Summer 2015
- GSOC (Google Summer of Code) project to develop an Android client
for MediaGoblin
- Project is a Kivy application, which is written in Python. We chose Kivy
as it allows us to use the MediaGoblin codebase
- Uses 100% free software
- GPLv3 or later license
II. Getting Started
Requirements:
A MediaGoblin account:
- There are many different MediaGoblin instances to choose from
- We recommend pump.goblinrefuge.com
- To create your own MediaGoblin instance, follow the guide at:
https://mediagoblin.readthedocs.org/en/stable/siteadmin/deploying.html
User Installation Guide:
Android app is available on F-Droid app store
Developer Installation Guide:
The Plan:
Install a combination of system-wide packages and
virtualenv packages
0. Clone the repo
- cd into a dir of your choice and clone the repo:
git clone https://notabug.org/SapienTech/MediaGoblinApp
cd MediaGoblinApp
- and init the submodules:
git submodule init && git submodule update
1. Download the following system-wide dependencies:
sudo apt-get install -y \
build-essential \
mercurial \
git \
python2.7 \
python-setuptools \
python-dev \
libsdl-image1.2-dev \
libsdl-mixer1.2-dev \
libsdl-ttf2.0-dev \
libsmpeg-dev \
libsdl1.2-dev \
libportmidi-dev \
libswscale-dev \
libavformat-dev \
libavcodec-dev \
zlib1g-dev \
python-pip \
python-virtualenv
2. Set up a virtual environment (in MediaGoblinApp dir):
virtualenv env
And activate it:
source env/bin/activate
3. Install dependencies:
pip install -r requirements.txt
4. Build the project:
- In the project directory:
python setup.py develop
- This will allow you to run kivy from the computer, to install an android
apk, continue to step 5.
5. Compiling the Android apk:
buildozer android debug
- To run on phone after compiling:
buildozer android deploy run logcat
III. Testing
- As compiling an apk takes time, it is recommended to first test on the computer,
before debuging an apk.
- Note, however that some functionality is exclusive to Android
IV. Contributing
- Contributing to this project is a great opportunity to hone mobile development skills.
As this project is small, but part of the larger MediaGoblin community,
contributers have a great opportunity to fully understand and engage with a
piece of software, while also benefiting from the structure and support of
an established free software community.
- If you feel like reaching out to contribute/learn more/just chat, feel
free to ping SapienTech on irc.freenode.net in #mediagoblin, or connect
through email at sapientechnology@openmailbox.com
V. Licenses
GPLv3 or later
VI. Contact
Dylan Jeffers: sapientechnology@openmailbox.com