tizonia / tizonia-openmax-il

Command-line cloud music player for Linux with support for Spotify, Google Play Music, YouTube, SoundCloud, TuneIn, iHeartRadio, Plex servers and Chromecast devices.
https://tizonia.org
GNU Lesser General Public License v3.0
1.69k stars 87 forks source link

fedora compile #390

Open dmaglio opened 6 years ago

dmaglio commented 6 years ago

it's only for ubuntu/debian... how to compiling from source for fedora?

juanrubio commented 6 years ago

Hi, thanks for stopping by!

At the moment, I don't have step-by-step instructions on how to build on Fedora, but the project uses autotools so you should be able to do the usual:

$ autoreconf -ifs
$ ./configure
$ make
$ make install

One thing though is that you will need to manually install all the build dependencies. I'm pasting below the list of them.

Note that the longer term plan is to make available a Tizonia Snap package. That will hopefully be able to get Tizonia installed in way more Linux distros.

Please watch #309 for more news on this.

Here is an up-to-date list of build dependencies for Tizonia:

declare -ar TIZ_LIBSPOTIFY_DEPS=( \
    libspotify12 \
    libspotify-dev \
)

declare -ar TIZ_TIZONIA_DEPS=( \
    apt-transport-https \
    build-essential \
    autoconf \
    autoconf-archive \
    automake \
    autotools-dev \
    bash-completion \
    libtool \
    libmad0-dev \
    liblog4c-dev \
    libasound2-dev \
    libdbus-1-dev \
    libdbus-c++-dev \
    libsqlite3-dev \
    libboost-all-dev \
    uuid-dev \
    libsdl1.2-dev \
    libvpx-dev \
    libmp3lame-dev \
    libfaad-dev \
    libev-dev \
    libtag1-dev \
    libfishsound1-dev \
    libmediainfo-dev \
    libcurl4-openssl-dev \
    libpulse-dev \
    libmpg123-dev \
    libvorbis-dev \
    libopus-dev \
    libopusfile-dev \
    libogg-dev \
    libflac-dev \
    liboggz2-dev \
    libsndfile1-dev \
    libffi-dev \
    libssl-dev \
    libspotify12 \
    libspotify-dev \
    python-dev \
    python-setuptools \
    python-pip \
    python-decorator \
    python-protobuf \
    python-validictory \
    python-bs4 \
    python-oauth2client \
    python-dateutil \
    python-mutagen \
    python-crypto \
    python-requests \
    curl \
    check \
    wget \
    sqlite3 \
    dbus-x11 \
    mercurial \
    git \
    checkinstall \
)

declare -ar TIZ_TIZONIA_PYPI_DEPS=( \
    alabaster \
    breathe \
    gmusicapi \
    soundcloud \
    youtube-dl \
    pafy \
    pychromecast \
    pycountry \
    titlecase \
)
dmaglio commented 6 years ago

i notice that tizona-dev-builds call 'apt-get'. i can edit for fedora, but i need to known where is placed and updated

juanrubio commented 6 years ago

tizonia-dev-build is a wrapper, it calls on another script in the same directory, which contains the dependency lists I pasted above and the logic to install them on debian-like distros:

See: https://github.com/tizonia/tizonia-openmax-il/blob/e3d71ffc708f6617ff105afd6417907f89459ac6/tools/tizonia-dpkg-build#L350

dmaglio commented 6 years ago

Ok, i see that file and update it for fedora. thanks

Abhinav1217 commented 6 years ago

@dmaglio Can you share your updates, I am trying to build it on Fedora 27 but failing.

juanrubio commented 6 years ago

I forgot to mention that there are somewhat smaller versions of the dependencies list in these two other files:

dmaglio commented 6 years ago

with last release (git pull origin master) now there is an error on make. Missing tizilheaders packages....

juanrubio commented 6 years ago

I remember someone having a similar issue before. Is there a chance that you have Tizonia's headers installed in the system directories? I usually purge all Tizonia debian packages in the machine I'm developing. The reason is that the autoconf build system in the sub-projects will try to detect the headers from one of the two possible locations:

So there may be sometime conflicts that arise when you try to build tizonia on a system that have the deb packages installed.

dmaglio commented 6 years ago

@juanrubio i try to compile from source. maybe i can try to delete folder and re-download

juanrubio commented 6 years ago

The last Travis build in master was green: https://travis-ci.org/tizonia/tizonia-openmax-il/builds/309740544

So it could be something specific to your environment.

ffledgling commented 6 years ago

@dmaglio @juanrubio any luck getting an RPM version of this? I've been using the snap and it works okay, but an RPM would be really nice :)

tizonia commented 6 years ago

@ffledgling : I would really like to see RPM packages of Tizonia, but unfortunately, I don't think I have the time to drive this. It would be great if someone wanted to contribute some time toward this and, from my side, I will do my best to provide support.

@luigino was working on getting Tizonia built for SUSE (possibly using the Open Build Service?). There are a couple of issues that need to be resolved, see: https://github.com/tizonia/tizonia-openmax-il/issues?q=is%3Aissue+is%3Aopen+label%3Aopensuse

I think I can try to give these a push this week if people are still interested?

lgbaldoni commented 6 years ago

Frankly, I've given up. The nested autoconf setup took far too much time to test anything.

tizonia commented 6 years ago

Actually, this is a good point. Tizonia is actually too big to be comfortably packaged without the assistance of some sort of packaging service. This is the case on debian, where it is a multi-day process for me to get all the .debs out on every release.

Whereas my goal really is to use more of my time on features, less on packaging, and get more releases out more frequently. This is why the Snap packaging is working quite well for Tizonia because passed the initial heavy-lifting necessary to get the first snap release out, new releases are pretty painless to produce.

I'm not very familiar with RPM packaging, but perhaps the Open Build Service is the only sensible way to go here.

As I said, I'm more than happy to provide support, but someone else would need to take the lead for this to happen.