MythTV PVR/BuildFromSource: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
(Update Mininav linkback target)
(19 intermediate revisions by 4 users not shown)
Line 1: Line 1:
* The addon is part of KODI's official addon repository: https://github.com/opdenkamp/xbmc-pvr-addons
{{Mininav|[[Add-on:MythTV PVR Client|MythTV PVR Client]]}}
* The addon's development repository is https://github.com/janbar/xbmc-pvr-addons. You will also find the addon's issue tracker here.


== Branches ==
{{Note|This add-on's development repository is [[Git usage|Git-based]] and hosted on [https://github.com/janbar/pvr.mythtv GitHub]. There you will find instructions for compiling it from source code along with its issue tracker.}}
KODI PVR addons like the MythTV addon are not compatible with all versions of KODI (due to the PVR API version dependency).
The addon repositories have different branches for the different KODI versions.
* Branch ''master'': Compatible with KODI Helix development builds
* Branch ''gotham'': Compatible with XBMC Gotham (v13)
Use <code>git checkout <BRANCH></code> after cloning the repository to switch to the according branch before starting the build.


== Build MythTV addon on Ubuntu ==
== Build instructions ==
* Install build utilities/libraries
When building the addon, you have to use the correct branch ([https://github.com/janbar/pvr.mythtv/branches/all List of Git branches in pvr.mythtv]) for the version of Kodi you're building against. For example, if you're building the <code>master</code> branch of Kodi, you should checkout the <code>master</code> branch of this repository. Also, make sure you are following this [https://github.com/janbar/pvr.mythtv/blob/master/README.md README file] from the branch in question.
<pre>
sudo apt-get install ubuntu-restricted-extras git
sudo apt-get install build-essential automake autoconf checkinstall cmake
sudo apt-get install bison flex libtool intltool zip
</pre>


* Clone the '''pvr.mythtv''' sources from git repository
=== Linux environments ===
<pre>
<syntaxhighlight lang="sh">
cd $HOME/src
git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git
git clone git://github.com/janbar/pvr.mythtv.git
git clone --branch Nexus https://github.com/janbar/pvr.mythtv.git && cd ./pvr.mythtv
</pre>
mkdir build && cd ./build
cmake -DADDONS_TO_BUILD:STRING="pvr.mythtv" -DADDON_SRC_PREFIX:PATH="../.." -DCMAKE_BUILD_TYPE:STRING="Debug" \
-DCMAKE_INSTALL_PREFIX:PATH="../../xbmc/addons" -DPACKAGE_ZIP:BOOL="ON" "-GUnix Makefiles" ../../xbmc/cmake/addons
cmake --build .
</syntaxhighlight>


* Choose the branch you want to build.
The add-on files will be placed in <code>../../xbmc/kodi-build/addons</code>, so if you build Kodi from source and run it directly, the add-on will be available as a system add-on.
''gotham branch''
<pre>cd pvr.mythtv ; git checkout gotham ; cd ..</pre>
''helix branch''
<pre>cd pvr.mythtv ; git checkout helix ; cd ..</pre>
''development branch''
<pre>cd pvr.mythtv ; git checkout doityourself ; cd ..</pre>


* Build it in a new cleaned folder <code>build</code>
== External links ==
<pre>
* [https://github.com/janbar/pvr.mythtv/issues Issue tracker]
mkdir -p build
rm -rf build/*
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DUSE_LTO=1 ../pvr.mythtv/
make
</pre>


* Create the package ZIP
<pre>
cp -r ../pvr.mythtv/pvr.mythtv ./
cp pvr.mythtv.so pvr.mythtv/
zip -r pvr.mythtv-linux.zip ./pvr.mythtv
</pre>


* Put the addon in a handy location
{{Updated|19}}
<pre>
[[Category:PVR]]
mv pvr.mythtv-linux.zip $HOME
</pre>
 
* You may need to delete the previous addon zip file out of ~/.kodi/addons/packages/ to allow installation of newer revision with the same addon version number
<pre>
rm ~/.kodi/addons/packages/pvr.mythtv-linux.zip
</pre>
 
* Start KODI, add the addon using the zip file, then finally enable Live TV using the MythTV addon above.
 
== Build MythTV addon on OSX ==
* Install '''git'''. Go to http://code.google.com/p/git-osx-installer
* Install '''Xcode''' for your Mac. Go to http://connect.apple.com/
* Install '''Command line tools''': Go to http://connect.apple.com/ or type "xcode-select --install" in terminal
:Snow leopard: Xcode 3.2.6
:Lion: Xcode 4.3+
:Mountain Lion: Xcode 4.4+
:Maverick: Xcode 5.0.1 or newer
 
* Now open a '''terminal''' console and download cmake tool to build addon. Below the cmake sources are installed in the folder '''$HOME/src'''
<pre>
mkdir src ; cd src
git clone -b release http://cmake.org/cmake.git
cd cmake
./bootstrap ; make
</pre>
Then install cmake tool. At prompt enter your password.
<pre>
sudo make install
</pre>
 
* Clone the '''pvr.mythtv''' sources from git repository
<pre>
cd $HOME/src
git clone git://github.com/janbar/pvr.mythtv.git
</pre>
 
* Choose the branch you want to build.
''gotham branch''
<pre>cd pvr.mythtv ; git checkout gotham ; cd ..</pre>
''helix branch''
<pre>cd pvr.mythtv ; git checkout helix ; cd ..</pre>
''development branch''
<pre>cd pvr.mythtv ; git checkout doityourself ; cd ..</pre>
 
* Build it in a new cleaned folder <code>build</code>
<pre>
mkdir -p build
rm -rf build/*
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCORE_SYSTEM_NAME=darwin -DUSE_LTO=1 ../pvr.mythtv/
make
</pre>
 
* Create the package ZIP
<pre>
cp -r ../pvr.mythtv/pvr.mythtv ./
cp pvr.mythtv.dylib pvr.mythtv/
zip -r pvr.mythtv-osx.zip ./pvr.mythtv
</pre>
 
* Put the addon in a handy location
<pre>
mv pvr.mythtv-osx.zip $HOME
</pre>
 
* You may need to delete the previous addon zip file out of $HOME/Library/Application\ Support/KODI/addons/packages/ to allow installation of newer revision with the same addon version number
<pre>
rm $HOME/Library/Application\ Support/KODI/addons/packages/pvr.mythtv-osx.zip
</pre>
 
* Start KODI, add the addon using the zip file, then finally enable Live TV using the MythTV addon above.
 
== Build MythTV addon on Windows ==
* Install '''Visual C++ 2013 windows desktop'''
* Download '''pvr.mythtv''' sources from git repository
<pre>cd src
git clone -b helix git://github.com/janbar/pvr.mythtv.git</pre>
* Run '''cmake''' GUI and create the VC project in a dedicated folder
* Open '''pvr.mythtv.sln''' in Visual C++ 2013
* Build it
* To install the addon, copy the generated DLL '''pvr.mythtv.dll''' into sub folder '''pvr.mythtv''' from the sources. ZIP the sub folder with its content as pvr.mythtv-win32.zip.
* Start KODI, add the addon using the zip file, then finally enable Live TV using the MythTV addon above.
 
== Build MythTV git into OpenELEC ==
* Follow normal OpenELEC build instructions (http://wiki.openelec.tv/index.php?title=Compile_from_source) for desired ARCH.
<pre>
cd OpenELEC.tv
PROJECT=RPi ARCH=arm make release
</pre>
* From OpenELEC sources folder clone sources of compatible branch: gotham, helix or doityourself (last development)
<pre>
git clone -b helix https://github.com/janbar/pvr.mythtv.git
</pre>
* Create a cleaned <code>build</code> folder and go
<pre>
mkdir -p build
rm -rf build/*
cd build
</pre>
* Select PROJECT and ARCH to build
<pre>
PROJECT=RPi
ARCH=arm
</pre>
* Configure the build by running script below
<pre>
for FILE in \
  ../build.OpenELEC-${PROJECT}.${ARCH}-*/toolchain/etc/cmake-*-openelec-*.conf ; do
  if [ -f "$FILE" ]; then
cmake -DCMAKE_TOOLCHAIN_FILE=$FILE \
          -DCMAKE_INSTALL_PREFIX=/usr \
          -DCMAKE_BUILD_TYPE=Release -DUSE_LTO=1 \
          ../pvr.mythtv/
    break
  fi
done
</pre>
* Build the addon
<pre>
make
</pre>
 
* Create the package ZIP
<pre>
cp -r ../pvr.mythtv/pvr.mythtv ./
cp pvr.mythtv.so pvr.mythtv/
zip -r pvr.mythtv-${PROJECT}-${ARCH}.zip ./pvr.mythtv
</pre>

Revision as of 17:43, 19 March 2022

Home icon grey.png   ▶ MythTV PVR Client ▶ BuildFromSource

Note: This add-on's development repository is Git-based and hosted on GitHub. There you will find instructions for compiling it from source code along with its issue tracker.

Build instructions

When building the addon, you have to use the correct branch (List of Git branches in pvr.mythtv) for the version of Kodi you're building against. For example, if you're building the master branch of Kodi, you should checkout the master branch of this repository. Also, make sure you are following this README file from the branch in question.

Linux environments

git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git
git clone --branch Nexus https://github.com/janbar/pvr.mythtv.git && cd ./pvr.mythtv
mkdir build && cd ./build
cmake -DADDONS_TO_BUILD:STRING="pvr.mythtv" -DADDON_SRC_PREFIX:PATH="../.." -DCMAKE_BUILD_TYPE:STRING="Debug" \
-DCMAKE_INSTALL_PREFIX:PATH="../../xbmc/addons" -DPACKAGE_ZIP:BOOL="ON" "-GUnix Makefiles" ../../xbmc/cmake/addons
cmake --build .

The add-on files will be placed in ../../xbmc/kodi-build/addons, so if you build Kodi from source and run it directly, the add-on will be available as a system add-on.

External links