Package Details: xdr-gtk-git 20240127-1

Git Clone URL: https://aur.archlinux.org/xdr-gtk-git.git (read-only, click to copy)
Package Base: xdr-gtk-git
Description: User interface for the XDR-F1HD Radio Tuner with XDR-I2C modification.
Upstream URL: https://github.com/kkonradpl/xdr-gtk
Licenses: GPL2
Conflicts: xdr-gtk
Provides: xdr-gtk
Submitter: sjg
Maintainer: None
Last Packager: sjg
Votes: 0
Popularity: 0.000000
First Submitted: 2022-01-03 20:27 (UTC)
Last Updated: 2024-01-27 18:02 (UTC)

Latest Comments

soulnull commented on 2025-07-31 23:58 (UTC) (edited on 2025-07-31 23:59 (UTC) by soulnull)

I was having issues getting this to build. I take no credit for this fixed version: I had Claude AI figure out the issue, then had it apply those changes via a PKGBUILD, sharing the results. It worked for me, but YMMV.

# Maintainer: Stanislaw Grams <sjg@fmdx.pl>
pkgname=xdr-gtk-git
pkgver=20240126
pkgrel=1
pkgdesc="User interface for the XDR-F1HD Radio Tuner with XDR-I2C modification."
arch=('x86_64')
url="https://github.com/kkonradpl/xdr-gtk"
license=('GPL2')
depends=('gtk3')
provides=('xdr-gtk')
conflicts=('xdr-gtk')
makedepends=('git' 'cmake' 'ninja' 'pkgconf' 'gtk3')
source=("git+https://github.com/kkonradpl/xdr-gtk")
md5sums=('SKIP')
_gitname="xdr-gtk"

prepare () {
  cd "$srcdir/$_gitname"
  git submodule init
  git submodule update

  # Fix function signature mismatches
  msg2 "Applying patches to fix compilation errors..."

  # Fix settings_dialog function signature in header
  sed -i 's/void settings_dialog();/void settings_dialog(gint tab_num);/' src/settings.h

  # Fix ui_update_pilot function signature in header
  sed -i 's/void ui_update_pilot();/void ui_update_pilot(gint pilot_status);/' src/ui-tuner-update.h

  # Find and fix the ui_update_pilot function implementation
  # We need to find where ui_update_pilot is implemented and add the parameter
  if grep -q "ui_update_pilot()" src/*.c; then
    # Find the file containing the function definition
    file=$(grep -l "ui_update_pilot()" src/*.c)
    if [ -n "$file" ]; then
      msg2 "Fixing ui_update_pilot implementation in $file"
      sed -i 's/ui_update_pilot()/ui_update_pilot(gint pilot_status)/' "$file"
    fi
  fi

  msg2 "Patches applied successfully"
}

pkgver() {
  cd "$srcdir/$_gitname"
  git show -s --format="%ci" HEAD | sed -e 's/-//g' -e 's/ .*//'
}

build() {
  cd "$srcdir/$_gitname"
  # Create build directory if it doesn't exist
  mkdir -p build
  cd build
  cmake .. -GNinja -Wall -DCMAKE_INSTALL_PREFIX='/usr'
  ninja
}

package() {
  cd "$srcdir/$_gitname/build"
  DESTDIR="$pkgdir" ninja install
}