Solarus PPA

Started by Nate-Devv, July 20, 2016, 02:43:07 AM

Previous topic - Next topic
July 20, 2016, 02:43:07 AM Last Edit: July 27, 2016, 05:31:11 PM by Nate-Devv
Since the Debian repository that I had at packagecloud.io was having bandwidth issues, I decided to re-create the source packages and upload them to a launchpad PPA.  As of the time of this writing, packages of the Solarus executable and editor have been uploaded and are awaiting approval and build time. I will also try to get packages of the official games in the PPA once I am sure that the main packages are uploaded correctly Official games are in the PPA.

Solarus PPA: https://launchpad.net/~nate-devv/+archive/ubuntu/solarus

Update (how to install on Ubuntu):
Run sudo apt-add-repository ppa:nate-devv/solarus for the release packages.
and sudo apt-add-repository ppa:nate-devv/solarus-dev for the snapshots and pre-releases.

For installing this package on Debian systems (aka jessie and others), Based on this guide, run the following commands in a terminal:

As root:
echo "deb-src http://ppa.launchpad.net/nate-devv/solarus/ubuntu xenial main" > /etc/apt/sources.list.d/solarus-deb.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7E71AE77


As a normal user:
apt-get source --build solarus
sudo dpkg -i solarus*.deb


Of course, replacing solarus with the package you want.

Update:
If you want a package in the PPA for wily or trusty, let me know, but if no one asks, I'll just keep xenial packages only.

Editor version 1.4.5 and the Debian package building tools don't play nicely, so as of yet no Debian package can be made. As a temporary fix, try installing solarus through the package on the PPA and build the editor from source.  The cmake invocation will be as follows for 64 bit:
cmake -DSOLARUS_INCLUDE_DIR=/usr/include/solarus -DSOLARUS_LIBRARY=/usr/lib/x86_64-linux-gnu/libsolarus.so ..
and as follows for 32 bit:
cmake -DSOLARUS_INCLUDE_DIR=/usr/include/solarus -DSOLARUS_LIBRARY=/usr/lib/i386-linux-gnu/libsolarus.so ..

Update 2:

Also a PPA for snapshots and prereleases: https://launchpad.net/~nate-devv/+archive/ubuntu/solarus-dev

This PPA will only house the main solarus debs and the solarus editor, and will be active for future releases (1.6 and above). There is also a 1.5.0 prerelease build in this PPA at the moment (commit 30a3e9193a265fc6dc6e815ef17b23e6d05432bb).

July 20, 2016, 06:56:22 AM #1 Last Edit: July 21, 2016, 09:02:09 PM by Zefk
Quote from: Nate-Devv on July 20, 2016, 02:43:07 AM

As a normal user:
apt-get source --build solarus
sudo dpkg -i solarus*.deb


Of course, replacing solarus with the package you want.

I was wonder if you could provide an already made .deb with an example. For instance,

sudo apt-get install solarus1.4.5

That is kinda the process I use for installing most software on Ubuntu.

I am Trusty Tahr user and I need a trusty version of solarus.
Thank you for your work. Launchpad.net is a better source.

What problem did you enconter with the 1.4.5 editor? Maybe I can help?

Quote from: Zefk on July 20, 2016, 06:56:22 AM
Quote from: Nate-Devv on July 20, 2016, 02:43:07 AM

As a normal user:
apt-get source --build solarus
sudo dpkg -i solarus*.deb


Of course, replacing solarus with the package you want.

I was wonder if you could provide an already made .deb with an example. For instance,

sudo apt-get install solarus1.4.5

That is kinda the process I use for installing most software on Ubuntu.

That process is only for Debian jessie,etc. Ubuntu users should use the launchpad PPA.

This error, not present when compiling directly, but present when package compiling:
make[3]: *** No rule to make target 'x86_64-linux-gnu/libsolarus.so', needed by 'solarus-quest-editor'.  Stop.

Here's the stuff you need to reproduce the error: https://drive.google.com/open?id=0B3qiMHjdupMLdUszeTY2QWhLTk0
Extract the debian.tar.gz into an extraction of the .orig.tar.gz, then run debuild -b in the extracted folder.

July 21, 2016, 11:40:00 PM #5 Last Edit: July 21, 2016, 11:59:02 PM by Nate-Devv
Quote from: Linuxfreak on July 21, 2016, 10:49:29 AM
I am Trusty Tahr user and I need a trusty version of solarus.
Thank you for your work. Launchpad.net is a better source.

Got Solarus and ZSDX uploaded in trusty, ZSXD and Zelda ROTH SE incoming.

Update:
ZSXD and Zelda ROTH SE are in now.

Quote from: Nate-Devv on July 21, 2016, 11:35:09 PM
This error, not present when compiling directly, but present when package compiling:
make[3]: *** No rule to make target 'x86_64-linux-gnu/libsolarus.so', needed by 'solarus-quest-editor'.  Stop.

Here's the stuff you need to reproduce the error: https://drive.google.com/open?id=0B3qiMHjdupMLdUszeTY2QWhLTk0
Extract the debian.tar.gz into an extraction of the .orig.tar.gz, then run debuild -b in the extracted folder.
Can you paste your full debuild log? because I don't reprocuce exactly this problem.

Here's the full log.  Interesting that you can't reproduce it, let me see if the PPA doesn't do that as well.
http://pastebin.com/VMHk1mU5

In the dh_auto_configure command, the -DSOLARUS_LIBRARY=x86_64-linux-gnu/libsolarus.so looks wrong. It should be an absolute path.
I don't understand why it is like this, because the debian/rules file does set an absolute path.

July 23, 2016, 08:12:48 PM #9 Last Edit: July 23, 2016, 08:15:54 PM by Nate-Devv
Quote from: Christopho on July 23, 2016, 01:00:55 AM
In the dh_auto_configure command, the -DSOLARUS_LIBRARY=x86_64-linux-gnu/libsolarus.so looks wrong. It should be an absolute path.
I don't understand why it is like this, because the debian/rules file does set an absolute path.

Ironically, commenting out the dh_auto_configure override allowed the package to compile on my computer. Go figure. I uploaded editor packages to the PPA, but they failed. The relevant error is CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find SDL2 (missing: SDL2_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindSDL2.cmake:177 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:35 (find_package)


Here's the buildlog.

Quote from: Nate-Devv on July 23, 2016, 08:12:48 PM
Ironically, commenting out the dh_auto_configure override allowed the package to compile on my computer. Go figure. I uploaded editor packages to the PPA, but they failed. The relevant error is
[/quote]
Ok, then this is actually good news if default settings just work :)

Quote from: Nate-Devv on July 23, 2016, 08:12:48 PM
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find SDL2 (missing: SDL2_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindSDL2.cmake:177 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:35 (find_package)


Here's the buildlog.
The following dependencies are needed to build the editor:

solarus libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libluajit-5.1-dev
libphysfs-dev libopenal-dev libvorbis-dev libmodplug-dev
qtbase5-dev qttools5-dev qttools5-dev-tools

From what I see in your debian/control file, some of these are missing. This should explain the problem. I hope it helps!

Yeah I figured that as well. It works on my machine, because I've also compiled Solarus, but the PPA servers use chroots, so they need every single build dependency explicitly specified. The PPA took my editor package, finally! The pre-release 1.5 Solarus and Editor also compiled correctly in the Dev PPA, so that's good news as well.


I found this issue using the 1.4.5 editor packages and the 1.5.0 pre-release editor packages. Can anyone reproduce?

https://github.com/christopho/solarus-quest-editor/issues/209