# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI=5 # inherit lists eclasses to inherit functions from. Almost all ebuilds should # inherit eutils, as a large amount of important functionality has been # moved there. For example, the epatch call mentioned below wont work # without the following line: inherit eutils # A well-used example of an eclass function that needs eutils is epatch. If # your source needs patches applied, it's suggested to put your patch in the # 'files' directory and use: # # epatch "${FILESDIR}"/patch-name-here # # eclasses tend to list descriptions of how to use their functions properly. # take a look at /usr/portage/eclass/ for more examples. DESCRIPTION="Linuxtrack is head tracking software for webcams, Wii Remotes, and TrackIR versions 2 through 5." HOMEPAGE="http://code.google.com/p/linux-track/" SRC_URI="http://linuxtrack.eu/repositories/universal/${P}.tar.bz2" LICENSE="MIT" SLOT="0" KEYWORDS="~x86 ~amd64" # Likely need to create USE Flags for for the following options: # X = ltr_pipe does not require X or QT to run, but initilization of # TrackIR requires QT! (ie. firmware extracting using Wine from # TrackIR Windows .EXE files) # For now, I'll omitt this as most everybody using this package # will require initializing the device. Once imported, we can # later finesse the Ebuild, providing CLI firmware extraction and # default config files for devices, omittting having to use QT # libraries. # xplane = build XPlane plugin (requires XPlane SDK) # Create new USE Flag. # wine = build wine plugin (requires winegcc, wineg++ and makensis) # Create new USE Flag. # mickey = Build mickey (virtual mouse) [default=no] # Create new USE Flag. # 32bit = Build 32bit linuxtrack library on 64bit host # Create new USE Flag. #IUSE="X qt" #RESTRICT="strip" # Build-time dependencies, such as # ssl? ( >=dev-libs/openssl-0.9.6b ) # >=dev-lang/perl-5.6.1-r1 # It is advisable to use the >= syntax show above, to reflect what you # had installed on your system when you tested the package. Then # other users hopefully won't be caught without the right version of # a dependency. # NOTE: mini-xml was a missing build dep as of SVN 2013.10.24 required for # building the QT GUI (ltr_gui) and will likely be fixed within # >linuxtrack-0.99.6. Without it, the compile process silently passes over # ltr_gui error. DEPEND=">=dev-libs/mini-xml-2.7" # Run-time dependencies. Must be defined to whatever this depends on to run. # The below is valid if the same run-time depends are required to compile. # Wine is a run-time dep for extracting the firmware from the TrackIR # Windows EXE software. Once the firmware is copied into the system # libraries, likely Wine is no longer needed. RDEPEND="${DEPEND} \ >=app-emulation/wine-1.6" # Source directory; the dir where the sources can be found (automatically # unpacked) inside ${WORKDIR}. The default value for S is ${WORKDIR}/${P} # If you don't need to change it, leave the S= line out of the ebuild # to keep it tidy. #S=${WORKDIR}/${P} # NOTE: I have stopped editing this config file here -- roger 20131024. # The following src_configure function is implemented as default by portage, so # you only need to call it if you need a different behaviour. # This function is available only in EAPI 2 and later. #src_configure() { # Most open-source packages use GNU autoconf for configuration. # The default, quickest (and preferred) way of running configure is: #econf # # You could use something similar to the following lines to # configure your package before compilation. The "|| die" portion # at the end will stop the build process if the command fails. # You should use this at the end of critical commands in the build # process. (Hint: Most commands are critical, that is, the build # process should abort if they aren't successful.) #./configure \ # --host=${CHOST} \ # --prefix=/usr \ # --infodir=/usr/share/info \ # --mandir=/usr/share/man || die # Note the use of --infodir and --mandir, above. This is to make # this package FHS 2.2-compliant. For more information, see # http://www.pathname.com/fhs/ #} # The following src_compile function is implemented as default by portage, so # you only need to call it, if you need different behaviour. # For EAPI < 2 src_compile runs also commands currently present in # src_configure. Thus, if you're using an older EAPI, you need to copy them # to your src_compile and drop the src_configure function. #src_compile() { # emake (previously known as pmake) is a script that calls the # standard GNU make with parallel building options for speedier # builds (especially on SMP systems). Try emake first. It might # not work for some packages, because some makefiles have bugs # related to parallelism, in these cases, use emake -j1 to limit # make to a single process. The -j1 is a visual clue to others # that the makefiles have bugs that have been worked around. #emake || die #} # The following src_install function is implemented as default by portage, so # you only need to call it, if you need different behaviour. # For EAPI < 4 src_install is just returing true, so you need to always specify # this function in older EAPIs. #src_install() { # You must *personally verify* that this trick doesn't install # anything outside of DESTDIR; do this by reading and # understanding the install part of the Makefiles. # This is the preferred way to install. #emake DESTDIR="${D}" install || die # When you hit a failure with emake, do not just use make. It is # better to fix the Makefiles to allow proper parallelization. # If you fail with that, use "emake -j1", it's still better than make. # For Makefiles that don't make proper use of DESTDIR, setting # prefix is often an alternative. However if you do this, then # you also need to specify mandir and infodir, since they were # passed to ./configure as absolute paths (overriding the prefix # setting). #emake \ # prefix="${D}"/usr \ # mandir="${D}"/usr/share/man \ # infodir="${D}"/usr/share/info \ # libdir="${D}"/usr/$(get_libdir) \ # install || die # Again, verify the Makefiles! We don't want anything falling # outside of ${D}. # The portage shortcut to the above command is simply: # #einstall || die #}