summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergio Conde Gómez2015-06-08 12:25:13 +0200
committerSergio Conde Gómez2015-06-08 12:25:13 +0200
commit8dfc546ba95da974106327ad841acd8b1daf23df (patch)
treec0f2d3521b45be6cb5d09a45dab14715e658ff61
downloadaur-8dfc546ba95da974106327ad841acd8b1daf23df.tar.gz
Import 20150508-1
-rw-r--r--.SRCINFO31
-rw-r--r--PKGBUILD62
-rw-r--r--fix-pyqtconfig-missing-for-new-pyqt4.patch84
-rw-r--r--gr-air-modes-git.install18
4 files changed, 195 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..39043557218f
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,31 @@
+pkgbase = gr-air-modes-git
+ pkgdesc = A software-defined radio receiver for Mode S transponder signals, including ADS-B reports from equipped aircraft.
+ pkgver = 20150508
+ pkgrel = 1
+ url = https://github.com/bistromath/gr-air-modes
+ install = gr-air-modes-git.install
+ arch = i686
+ arch = x86_64
+ license = BSD
+ makedepends = git
+ makedepends = cmake
+ makedepends = swig
+ depends = python2
+ depends = python2-pyzmq
+ depends = gnuradio
+ depends = gnuradio-osmosdr
+ depends = libuhd
+ depends = sqlite
+ depends = boost
+ optdepends = python2-pyqt4: GUI application (needs rebuild, install before).
+ optdepends = python2-pyqwt: GUI application (needs rebuild, install before).
+ optdepends = python2-numpy: FlightGear interface support.
+ optdepends = python2-scipy: FlightGear interface support.
+ provides = gr-air-modes
+ source = git+https://github.com/bistromath/gr-air-modes.git
+ source = fix-pyqtconfig-missing-for-new-pyqt4.patch
+ sha256sums = SKIP
+ sha256sums = 346532b617e5557188a3493a5be2bd08ff29823eb11cc207336a0e32f9ac7344
+
+pkgname = gr-air-modes-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..cf8bd091d289
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,62 @@
+# Maintainer: Sergio Conde <skgsergio@gmail.com>
+
+pkgname=gr-air-modes-git
+pkgver=20150508
+pkgrel=1
+pkgdesc="A software-defined radio receiver for Mode S transponder signals, including ADS-B reports from equipped aircraft."
+arch=('i686' 'x86_64')
+url='https://github.com/bistromath/gr-air-modes'
+license=('BSD')
+depends=('python2' 'python2-pyzmq' 'gnuradio' 'gnuradio-osmosdr' 'libuhd' 'sqlite' 'boost')
+makedepends=('git' 'cmake' 'swig')
+optdepends=('python2-pyqt4: GUI application (needs rebuild, install before).'
+ 'python2-pyqwt: GUI application (needs rebuild, install before).'
+ 'python2-numpy: FlightGear interface support.'
+ 'python2-scipy: FlightGear interface support.')
+provides=('gr-air-modes')
+install="${pkgname}.install"
+source=('git+https://github.com/bistromath/gr-air-modes.git'
+ 'fix-pyqtconfig-missing-for-new-pyqt4.patch')
+sha256sums=('SKIP'
+ '346532b617e5557188a3493a5be2bd08ff29823eb11cc207336a0e32f9ac7344')
+
+_gitname="gr-air-modes"
+
+pkgver() {
+ cd "$srcdir/$_gitname"
+ git show -s --format="%cd" --date=short HEAD | tr -d '-'
+}
+
+prepare() {
+ cd "$srcdir/$_gitname"
+ # Fix pyqt4 detection, this patch should be deleted when this pull request
+ # is accepted https://github.com/bistromath/gr-air-modes/pull/67
+ patch -Np1 -i "../fix-pyqtconfig-missing-for-new-pyqt4.patch"
+}
+
+build() {
+ cd "$srcdir/$_gitname"
+ mkdir -p build
+ cd build
+
+ # Run cmake with python vars adjusted for using python2
+ cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ -DPYTHON_EXECUTABLE:FILEPATH=$(which python2) \
+ -DPYTHON_INCLUDE_DIR:PATH=$(echo /usr/include/python2*) \
+ -DPYTHON_LIBRARY:FILEPATH=$(echo /usr/lib/libpython2.*.so) \
+ -DPYUIC4_EXECUTABLE:FILEPATH=/usr/bin/python2-pyuic4 \
+ ../
+
+ # If make is run with more than one job it fails
+ make -j 1
+}
+
+package() {
+ cd "$srcdir/$_gitname/build/"
+ make DESTDIR="$pkgdir" install
+
+ # Fix shebangs
+ _pyFiles=$(find "$pkgdir" -iname '*.py' -or -iname 'modes_rx' -or -iname 'modes_gui')
+ sed -i 's|#!/usr/bin/env python.*|#!/usr/bin/env python2|' $_pyFiles
+ sed -i 's|#!/usr/bin/python.*|#!/usr/bin/env python2|' $_pyFiles
+}
diff --git a/fix-pyqtconfig-missing-for-new-pyqt4.patch b/fix-pyqtconfig-missing-for-new-pyqt4.patch
new file mode 100644
index 000000000000..868c544e86c0
--- /dev/null
+++ b/fix-pyqtconfig-missing-for-new-pyqt4.patch
@@ -0,0 +1,84 @@
+From e11f7e04b5fda1aa57d6b7a672375ff4b284abb2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sergio=20Conde=20G=C3=B3mez?= <skgsergio@gmail.com>
+Date: Thu, 23 Apr 2015 12:43:46 +0200
+Subject: [PATCH] Fix cmake ImportError: No module named pyqtconfig
+
+---
+ cmake/Modules/FindPyQt.py | 55 +++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 53 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/Modules/FindPyQt.py b/cmake/Modules/FindPyQt.py
+index 5d2f951..96bbbae 100644
+--- a/cmake/Modules/FindPyQt.py
++++ b/cmake/Modules/FindPyQt.py
+@@ -1,11 +1,60 @@
++# -*- coding: utf-8 -*-
++#
++# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
++# All rights reserved.
++#
++# Redistribution and use in source and binary forms, with or without
++# modification, are permitted provided that the following conditions are met:
++# * Redistributions of source code must retain the above copyright
++# notice, this list of conditions and the following disclaimer.
++# * Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions and the following disclaimer in the
++# documentation and/or other materials provided with the distribution.
++# * Neither the name of the Simon Edwards <simon@simonzone.com> nor the
++# names of its contributors may be used to endorse or promote products
++# derived from this software without specific prior written permission.
++#
++# THIS SOFTWARE IS PROVIDED BY Simon Edwards <simon@simonzone.com> ''AS IS'' AND ANY
++# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++# DISCLAIMED. IN NO EVENT SHALL Simon Edwards <simon@simonzone.com> BE LIABLE FOR ANY
++# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
++# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++#
++# FindPyQt.py
+ # Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
+ # Redistribution and use is allowed according to the terms of the BSD license.
+ # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+-import PyQt4.pyqtconfig
++try:
++ import PyQt4.pyqtconfig
++ pyqtcfg = PyQt4.pyqtconfig.Configuration()
++except ImportError:
++ import PyQt4.QtCore
++ import sipconfig # won't work for SIP v5
++ import os.path
++ cfg = sipconfig.Configuration()
++ sip_dir = cfg.default_sip_dir
++ for p in (os.path.join(sip_dir, "PyQt4"), sip_dir):
++ if os.path.exists(os.path.join(p, "QtCore", "QtCoremod.sip")):
++ sip_dir = p
++ break
++ cfg = {
++ 'pyqt_version': PyQt4.QtCore.PYQT_VERSION,
++ 'pyqt_version_str': PyQt4.QtCore.PYQT_VERSION_STR,
++ 'pyqt_sip_flags': PyQt4.QtCore.PYQT_CONFIGURATION['sip_flags'],
++ 'pyqt_mod_dir': cfg.default_mod_dir,
++ 'pyqt_sip_dir': sip_dir,
++ 'pyqt_bin_dir': cfg.default_bin_dir,
++ }
++ pyqtcfg = sipconfig.Configuration([cfg])
+
+-pyqtcfg = PyQt4.pyqtconfig.Configuration()
+ print("pyqt_version:%06.0x" % pyqtcfg.pyqt_version)
++print("pyqt_version_num:%d" % pyqtcfg.pyqt_version)
+ print("pyqt_version_str:%s" % pyqtcfg.pyqt_version_str)
+
+ pyqt_version_tag = ""
+@@ -20,5 +69,7 @@
+ in_t = False
+ print("pyqt_version_tag:%s" % pyqt_version_tag)
+
++print("pyqt_mod_dir:%s" % pyqtcfg.pyqt_mod_dir)
+ print("pyqt_sip_dir:%s" % pyqtcfg.pyqt_sip_dir)
+ print("pyqt_sip_flags:%s" % pyqtcfg.pyqt_sip_flags)
++print("pyqt_bin_dir:%s" % pyqtcfg.pyqt_bin_dir)
diff --git a/gr-air-modes-git.install b/gr-air-modes-git.install
new file mode 100644
index 000000000000..d6c3aa9fb680
--- /dev/null
+++ b/gr-air-modes-git.install
@@ -0,0 +1,18 @@
+post_install() {
+ pacman -Q python2-pyqt4 > /dev/null 2>&1
+ _pyqt4=$?
+
+ pacman -Q python2-pyqwt > /dev/null 2>&1
+ _pyqwt=$?
+
+ if [ "$_pyqt4" != "0" ] || [ "$_pyqwt" != "0" ]; then
+ echo ""
+ echo "You've installed gr-air-modes-git without GUI support."
+ echo "If you want to install the GUI you will need to install"
+ echo "python2-pyqt4 and python2-pyqwt and reinstall this package."
+ echo ""
+ echo "To install those packages as dependencies you can do the following:"
+ echo "pacman -S --asdep python2-pyqt4 python2-pyqwt"
+ echo ""
+ fi
+}