diff options
author | Michael Laß | 2021-08-02 19:57:14 +0200 |
---|---|---|
committer | Michael Laß | 2021-08-02 19:59:31 +0200 |
commit | ab44442ce13539b9700ad9b7922e55e7cc47851e (patch) | |
tree | 135730f9eeb6f73bdf49f871355485d277b08a6a | |
parent | 97fcdf4c46b570e55abc4c64483d0264ac9b28c4 (diff) | |
download | aur-ab44442ce13539b9700ad9b7922e55e7cc47851e.tar.gz |
Update to 4.0
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | 0001-mot_dir-changes.patch | 150 | ||||
-rw-r--r-- | 0002-padHandler-verify-data-length.patch | 42 | ||||
-rw-r--r-- | 0003-padHandler-correct-valid-range-for-last.patch | 30 | ||||
-rw-r--r-- | 0004-hackrf-update-gain-display-when-restoring-settings.patch | 56 | ||||
-rw-r--r-- | PKGBUILD | 34 |
6 files changed, 13 insertions, 316 deletions
@@ -1,7 +1,7 @@ pkgbase = qt-dab pkgdesc = Software DAB decoder for use with various SDR devices - pkgver = 3.72 - pkgrel = 2 + pkgver = 4.0 + pkgrel = 1 url = https://www.sdr-j.tk/ arch = x86_64 license = GPL2 @@ -18,16 +18,7 @@ pkgbase = qt-dab optdepends = libad9361: Support for Pluto optdepends = rtl-sdr: Support for RTL-SDR optdepends = libsdrplay: Support for SDRplay - source = https://github.com/JvanKatwijk/qt-dab/archive/refs/tags/Qt-DAB3.72.tar.gz - source = 0001-mot_dir-changes.patch - source = 0002-padHandler-verify-data-length.patch - source = 0003-padHandler-correct-valid-range-for-last.patch - source = 0004-hackrf-update-gain-display-when-restoring-settings.patch - sha256sums = 8e90bd7e35a2fb6e3f3f3aee61ee65d3c37ead5731ba0146fa29883685167ed4 - sha256sums = f4f60612d82afffbbd99b5549a4e4ddcd9745e046da9974fe373091251ace85c - sha256sums = f20e66cd0a2f29ee90e20bcdf8aa6ca5b2f06e554e3373ef9118823d5b2ca9d6 - sha256sums = 170fe2ce981e1d7bc4a7ea5924862887a5c752822375887935f67ea5c34341d6 - sha256sums = 09ee42c73a928688e710d961c16d46f5d804fb00f7037e24109823b0898d22d4 + source = https://github.com/JvanKatwijk/qt-dab/archive/refs/tags/qt-dab-4.0.tar.gz + sha256sums = 4abaee18c385e7c0aade3e53296c96b1779d4e0e5604968cc9c696a4e937a05b pkgname = qt-dab - diff --git a/0001-mot_dir-changes.patch b/0001-mot_dir-changes.patch deleted file mode 100644 index b0ccae1503d8..000000000000 --- a/0001-mot_dir-changes.patch +++ /dev/null @@ -1,150 +0,0 @@ -From c59f0f924e5808b9f5d9ad9a223c22d22c254872 Mon Sep 17 00:00:00 2001 -From: JvanKatwijk <J.vanKatwijk@gmail.com> -Date: Thu, 13 May 2021 12:11:32 +0200 -Subject: [PATCH 1/4] mot_dir changes - ---- - dab-maxi/main.cpp | 6 +++--- - includes/backend/data/mot/mot-dir.h | 5 +++-- - src/backend/data/mot/mot-dir.cpp | 27 ++++++++++++++------------- - src/backend/data/mot/mot-handler.cpp | 3 ++- - 4 files changed, 22 insertions(+), 19 deletions(-) - -diff --git a/dab-maxi/main.cpp b/dab-maxi/main.cpp -index 26ef9d4..c303ed6 100755 ---- a/dab-maxi/main.cpp -+++ b/dab-maxi/main.cpp -@@ -160,7 +160,7 @@ int fmFrequency = 110000; - } - - void setTranslator (QString Language) { --QTranslator Translator; -+QTranslator *Translator = new QTranslator; - - // German is special (as always) - if ((Language == "de_AT") || (Language == "de_CH")) -@@ -168,9 +168,9 @@ QTranslator Translator; - // - // what about Dutch? - bool TranslatorLoaded = -- Translator. load (QString(":/i18n/") + Language); -+ Translator -> load (QString(":/i18n/") + Language); - qDebug() << "main:" << "Set language" << Language; -- QCoreApplication::installTranslator (&Translator); -+ QCoreApplication::installTranslator (Translator); - - if (!TranslatorLoaded) { - qDebug() << "main:" << "Error while loading language specifics" << Language << "use English \"en_GB\" instead"; -diff --git a/includes/backend/data/mot/mot-dir.h b/includes/backend/data/mot/mot-dir.h -index a549898..6a43cf7 100755 ---- a/includes/backend/data/mot/mot-dir.h -+++ b/includes/backend/data/mot/mot-dir.h -@@ -28,6 +28,7 @@ - - #include "mot-object.h" - #include <QString> -+#include <vector> - class RadioInterface; - - class motDirectory { -@@ -52,7 +53,7 @@ private: - uint16_t transportId; - - RadioInterface *myRadioInterface; -- uint8_t *dir_segments; -+ std::vector<uint8_t> dir_segments; - bool marked [512]; - int16_t dir_segmentSize; - int16_t num_dirSegments; -@@ -63,7 +64,7 @@ private: - uint16_t transportId; - motObject *motSlide; - } motComponentType; -- motComponentType *motComponents; -+ std::vector<motComponentType> motComponents; - }; - - #endif -diff --git a/src/backend/data/mot/mot-dir.cpp b/src/backend/data/mot/mot-dir.cpp -index 8f1c2c0..59cd71e 100755 ---- a/src/backend/data/mot/mot-dir.cpp -+++ b/src/backend/data/mot/mot-dir.cpp -@@ -43,22 +43,23 @@ int16_t i; - this -> dir_segmentSize = segmentSize; - fprintf (stderr, "dirSize %d, numObjects %d, segmentSize %d\n", - dirSize, objects, segmentSize); -- dir_segments = new uint8_t [dirSize]; -- motComponents = new motComponentType [objects]; -- for (i = 0; i < objects; i ++) -+ dir_segments. resize (dirSize); -+ motComponents. resize (objects); -+ for (i = 0; i < objects; i ++) { - motComponents [i]. inUse = false; -+ motComponents [i]. motSlide = nullptr; -+ } - memcpy (&dir_segments [0], segment, segmentSize); - marked [0] = true; -- } -+} - - motDirectory::~motDirectory() { - int i; -- delete [] dir_segments; - - for (i = 0; i < numObjects; i ++) -- if (motComponents [i]. inUse) -- delete [] motComponents [i]. motSlide; -- delete [] motComponents; -+ if (motComponents [i]. inUse && -+ (motComponents [i]. motSlide != nullptr)) -+ delete motComponents [i]. motSlide; - } - - motObject *motDirectory::getHandle (uint16_t transportId) { -@@ -118,18 +119,18 @@ int16_t i; - - void motDirectory::analyse_theDirectory() { - uint32_t currentBase = 11; // in bytes --uint8_t *data = dir_segments; -+//uint8_t *data = dir_segments; - uint16_t extensionLength = (dir_segments [currentBase] << 8) | -- data [currentBase + 1]; -+ dir_segments [currentBase + 1]; - - currentBase += 2 + extensionLength; - for (int i = 0; i < numObjects; i ++) { -- uint16_t transportId = (data [currentBase] << 8) | -- data [currentBase + 1]; -+ uint16_t transportId = (dir_segments [currentBase] << 8) | -+ dir_segments [currentBase + 1]; - if (transportId == 0) // just a dummy - break; - -- uint8_t *segment = &data [currentBase + 2]; -+ uint8_t *segment = &dir_segments [currentBase + 2]; - motObject *handle = new motObject (myRadioInterface, - true, - transportId, -diff --git a/src/backend/data/mot/mot-handler.cpp b/src/backend/data/mot/mot-handler.cpp -index f505cd4..6b8b082 100755 ---- a/src/backend/data/mot/mot-handler.cpp -+++ b/src/backend/data/mot/mot-handler.cpp -@@ -48,13 +48,14 @@ struct motTable_ { - motHandler::~motHandler() { - int i; - -- for (i = 0; i < 15; i ++) -+ for (i = 0; i < 15; i ++) { - if (motTable [i]. orderNumber > 0) { - if (motTable [i]. motSlide != nullptr) { - delete motTable [i]. motSlide; - motTable [i]. motSlide = nullptr; - } - } -+ } - if (theDirectory != nullptr) - delete theDirectory; - } --- -2.31.1 - diff --git a/0002-padHandler-verify-data-length.patch b/0002-padHandler-verify-data-length.patch deleted file mode 100644 index 9296fb594293..000000000000 --- a/0002-padHandler-verify-data-length.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 3a2adddfb7e1c5c77b231d3d245a011ee35773cf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20La=C3=9F?= <bevan@bi-co.net> -Date: Thu, 13 May 2021 12:33:32 +0200 -Subject: [PATCH 2/4] padHandler: verify data length - -Make sure to never compute negative offsets for array accesses. ---- - src/backend/data/pad-handler.cpp | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/src/backend/data/pad-handler.cpp b/src/backend/data/pad-handler.cpp -index 19517ac..570bb2e 100755 ---- a/src/backend/data/pad-handler.cpp -+++ b/src/backend/data/pad-handler.cpp -@@ -193,6 +193,12 @@ std::vector<uint8_t> data; // for the local addition - // the size of the latest xpadfield that had a CI_flag != 0 - if (CI_flag == 0) { - if (mscGroupElement && (xpadLength > 0)) { -+ -+ if (last < xpadLength) { -+ fprintf(stderr, "handle_variablePAD: last < xpadLength\n"); -+ return; -+ } -+ - data. resize (xpadLength); - for (j = 0; j < xpadLength; j ++) - data [j] = b [last - j]; -@@ -407,6 +413,11 @@ void padHandler::build_MSC_segment (std::vector<uint8_t> data) { - // is - int32_t size = data. size() < (uint32_t)dataGroupLength ? data. size() : - dataGroupLength; -+ -+if (size < 2) { -+ fprintf (stderr, "build_MSC_segment: data size < 2\n"); -+ return; -+} - - uint8_t groupType = data [0] & 0xF; - //uint8_t continuityIndex = (data [1] & 0xF0) >> 4; --- -2.31.1 - diff --git a/0003-padHandler-correct-valid-range-for-last.patch b/0003-padHandler-correct-valid-range-for-last.patch deleted file mode 100644 index 407b5e52799e..000000000000 --- a/0003-padHandler-correct-valid-range-for-last.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 8d0826759666dd0c207790b4ce8ac548bec760b8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20La=C3=9F?= <bevan@bi-co.net> -Date: Thu, 13 May 2021 13:22:57 +0200 -Subject: [PATCH 3/4] padHandler: correct valid range for last - -3a2addd introduced a check for last in padHandler::handle_variablePAD. -However, j only runs until xpadLength-1, so last being xpadLength-1 is -totally fine. ---- - src/backend/data/pad-handler.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/backend/data/pad-handler.cpp b/src/backend/data/pad-handler.cpp -index 570bb2e..c694fea 100755 ---- a/src/backend/data/pad-handler.cpp -+++ b/src/backend/data/pad-handler.cpp -@@ -194,8 +194,8 @@ std::vector<uint8_t> data; // for the local addition - if (CI_flag == 0) { - if (mscGroupElement && (xpadLength > 0)) { - -- if (last < xpadLength) { -- fprintf(stderr, "handle_variablePAD: last < xpadLength\n"); -+ if (last < xpadLength - 1) { -+ fprintf(stderr, "handle_variablePAD: last < xpadLength - 1\n"); - return; - } - --- -2.31.1 - diff --git a/0004-hackrf-update-gain-display-when-restoring-settings.patch b/0004-hackrf-update-gain-display-when-restoring-settings.patch deleted file mode 100644 index 5f79a14293d7..000000000000 --- a/0004-hackrf-update-gain-display-when-restoring-settings.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 665f8840df98c050adc64a9e4e64cd9e3a6c0378 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20La=C3=9F?= <bevan@bi-co.net> -Date: Thu, 13 May 2021 15:31:20 +0200 -Subject: [PATCH 4/4] hackrf: update gain display when restoring settings - -So far, only the sliders are updated and not the LCD type numeric -displays. Since signal emission is disabled during restore, the updates -do not automatically propagate to the numeric displays. - -This commit also removes leftover definitions of __KEEP_GAIN_SETTINGS__ -in qt-dab.pro since this setting is gone since qt-dab 3.5. ---- - dab-maxi/qt-dab.pro | 2 -- - dab-maxi/qt-devices/hackrf-handler/hackrf-handler.cpp | 4 ++++ - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/dab-maxi/qt-dab.pro b/dab-maxi/qt-dab.pro -index dd91bcc..a2a83fd 100755 ---- a/dab-maxi/qt-dab.pro -+++ b/dab-maxi/qt-dab.pro -@@ -346,7 +346,6 @@ CONFIG += PC - #CONFIG += RPI - #DEFINES += SHOW_MISSING - DEFINES += __DUMP_SNR__ # for experiments only --DEFINES +=__KEEP_GAIN_SETTINGS__ - } - - -@@ -430,7 +429,6 @@ CONFIG += faad - - CONFIG += try-epg # do not use - DEFINES += __DUMP_SNR__ # for experiments only --DEFINES +=__KEEP_GAIN_SETTINGS__ - } - # devices - # -diff --git a/dab-maxi/qt-devices/hackrf-handler/hackrf-handler.cpp b/dab-maxi/qt-devices/hackrf-handler/hackrf-handler.cpp -index cb41ec9..4a9da5d 100755 ---- a/dab-maxi/qt-devices/hackrf-handler/hackrf-handler.cpp -+++ b/dab-maxi/qt-devices/hackrf-handler/hackrf-handler.cpp -@@ -208,8 +208,12 @@ int res; - AmpEnableButton, SLOT (setChecked (bool))); - connect (this, SIGNAL (new_vgaValue (int)), - vgaGainSlider, SLOT (setValue (int))); -+ connect (this, SIGNAL (new_vgaValue (int)), -+ vgagainDisplay, SLOT (display (int))); - connect (this, SIGNAL (new_lnaValue (int)), - lnaGainSlider, SLOT (setValue (int))); -+ connect (this, SIGNAL (new_lnaValue (int)), -+ lnagainDisplay, SLOT (display (int))); - xmlDumper = nullptr; - dumping. store (false); - running. store (false); --- -2.31.1 - @@ -5,8 +5,8 @@ pkgname=qt-dab _pkgname=Qt-DAB -pkgver=3.72 -pkgrel=2 +pkgver=4.0 +pkgrel=1 pkgdesc="Software DAB decoder for use with various SDR devices" arch=(x86_64) url="https://www.sdr-j.tk/" @@ -18,27 +18,11 @@ optdepends=('airspy: Support for Airspy' 'libad9361: Support for Pluto' 'rtl-sdr: Support for RTL-SDR' 'libsdrplay: Support for SDRplay') -source=("https://github.com/JvanKatwijk/${pkgname}/archive/refs/tags/${_pkgname}${pkgver}.tar.gz" - 0001-mot_dir-changes.patch - 0002-padHandler-verify-data-length.patch - 0003-padHandler-correct-valid-range-for-last.patch - 0004-hackrf-update-gain-display-when-restoring-settings.patch) -sha256sums=('8e90bd7e35a2fb6e3f3f3aee61ee65d3c37ead5731ba0146fa29883685167ed4' - 'f4f60612d82afffbbd99b5549a4e4ddcd9745e046da9974fe373091251ace85c' - 'f20e66cd0a2f29ee90e20bcdf8aa6ca5b2f06e554e3373ef9118823d5b2ca9d6' - '170fe2ce981e1d7bc4a7ea5924862887a5c752822375887935f67ea5c34341d6' - '09ee42c73a928688e710d961c16d46f5d804fb00f7037e24109823b0898d22d4') +source=("https://github.com/JvanKatwijk/${pkgname}/archive/refs/tags/${pkgname}-${pkgver}.tar.gz") +sha256sums=('4abaee18c385e7c0aade3e53296c96b1779d4e0e5604968cc9c696a4e937a05b') prepare() { - cd "${pkgname}-${_pkgname}${pkgver}" - - # Some stability fixes - patch -p1 < "$srcdir"/0001-mot_dir-changes.patch - patch -p1 < "$srcdir"/0002-padHandler-verify-data-length.patch - patch -p1 < "$srcdir"/0003-padHandler-correct-valid-range-for-last.patch - - # Fix for gain display for hackrf - patch -p1 < "$srcdir"/0004-hackrf-update-gain-display-when-restoring-settings.patch + cd "${pkgname}-${pkgname}-${pkgver}" # The program is officially called Qt-DAB. sed -i 's/Qt_DAB/Qt-DAB/g' dab-maxi/${pkgname}.desktop @@ -58,14 +42,14 @@ build() { -DHACKRF=ON \ -DPLUTO=ON \ -DCMAKE_INSTALL_PREFIX=/usr \ - ../$pkgname-$_pkgname$pkgver/dab-maxi + ../$pkgname-$pkgname-$pkgver/dab-maxi make } package() { install -Dm 755 build-maxi/${pkgname}-${pkgver} "${pkgdir}"/usr/bin/${pkgname} - install -Dm 644 ${pkgname}-${_pkgname}${pkgver}/dab-maxi/${pkgname}.desktop "${pkgdir}"/usr/share/applications/${pkgname}.desktop - install -Dm 644 ${pkgname}-${_pkgname}${pkgver}/dab-maxi/${pkgname}.png "${pkgdir}"/usr/share/icons/hicolor/256x256/apps/${pkgname}.png - install -Dm 644 ${pkgname}-${_pkgname}${pkgver}/docs/${pkgname}.pdf "${pkgdir}"/usr/share/doc/${pkgname}/${pkgname}.pdf + install -Dm 644 ${pkgname}-${pkgname}-${pkgver}/dab-maxi/${pkgname}.desktop "${pkgdir}"/usr/share/applications/${pkgname}.desktop + install -Dm 644 ${pkgname}-${pkgname}-${pkgver}/dab-maxi/${pkgname}.png "${pkgdir}"/usr/share/icons/hicolor/256x256/apps/${pkgname}.png + install -Dm 644 ${pkgname}-${pkgname}-${pkgver}/docs/${pkgname}.pdf "${pkgdir}"/usr/share/doc/${pkgname}/${pkgname}.pdf } |