diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c66180c9329f..f3c6fe29eb87 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -20498,6 +20498,11 @@ githubId = 943430; name = "David Hagege"; }; + pdg137 = { + name = "Paul Grayson"; + github = "pdg137"; + githubId = 466760; + }; peat-psuwit = { name = "Ratchanan Srirattanamet"; email = "peat@peat-network.xyz"; diff --git a/pkgs/applications/radio/js8call/default.nix b/pkgs/applications/radio/js8call/default.nix deleted file mode 100644 index fc7fa9564e32..000000000000 --- a/pkgs/applications/radio/js8call/default.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - pkg-config, - hamlib_4, - libusb1, - cmake, - fftw, - fftwFloat, - qt6, - boost, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "js8call"; - version = "2.3.1"; - - src = fetchFromGitHub { - owner = "js8call"; - repo = "js8call"; - rev = "v${finalAttrs.version}"; - sha256 = "sha256-rYXjcmQRRfizJVriZo9yX8x2yYfWpL94Cprx9eFC3ss="; - }; - - nativeBuildInputs = [ - qt6.wrapQtAppsHook - pkg-config - cmake - ]; - - buildInputs = [ - hamlib_4 - libusb1 - fftw - fftwFloat - qt6.qtbase - qt6.qtmultimedia - qt6.qtserialport - boost - ]; - - prePatch = '' - substituteInPlace CMakeLists.txt \ - --replace "/usr/share/applications" "$out/share/applications" \ - --replace "/usr/share/pixmaps" "$out/share/icons/hicolor/128x128/apps" \ - --replace "/usr/bin/" "$out/bin" - ''; - - meta = { - description = "Weak-signal keyboard messaging for amateur radio"; - longDescription = '' - JS8Call is software using the JS8 Digital Mode providing weak signal - keyboard to keyboard messaging to Amateur Radio Operators. - ''; - homepage = "http://js8call.com/"; - license = lib.licenses.gpl3Plus; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ - sarcasticadmin - ]; - }; -}) diff --git a/pkgs/by-name/js/js8call/package.nix b/pkgs/by-name/js/js8call/package.nix new file mode 100644 index 000000000000..3b547b54b4e7 --- /dev/null +++ b/pkgs/by-name/js/js8call/package.nix @@ -0,0 +1,82 @@ +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + hamlib_4, + libusb1, + cmake, + fftw, + fftwFloat, + qt6, + boost, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "js8call"; + version = "2.5.2"; + + src = fetchFromGitHub { + owner = "JS8Call-improved"; + repo = "JS8Call-improved"; + tag = "release/${finalAttrs.version}"; + hash = "sha256-dpPh3+s29ksdVGc1I5JOJrqzS51Bda8afgU5RrO6B3w="; + }; + + nativeBuildInputs = [ + qt6.wrapQtAppsHook + pkg-config + cmake + ]; + + buildInputs = [ + hamlib_4 + libusb1 + fftw + fftwFloat + qt6.qtbase + qt6.qtmultimedia + qt6.qtserialport + boost + ]; + + # The "install" target is apparently no longer supported so we have + # to copy the built assets explicitly. + # https://github.com/JS8Call-improved/JS8Call-improved/issues/115 + installPhase = '' + mkdir -p $out/bin $out/share/doc/js8call $out/share/icons/hicolor/128x128/apps $out/share/applications + cp JS8Call $out/bin/js8call + cp ../LICENSE ../README.md $out/share/doc/js8call + cp ../artwork/js8call_icon.png $out/share/icons/hicolor/128x128/apps + cp ../JS8Call.desktop $out/share/applications + runHook postInstall + ''; + + # We renamed the executable to lowercase for consistency with older + # versions and Linux more generally. Fix up the desktop file here: + postInstall = '' + substituteInPlace $out/share/applications/JS8Call.desktop \ + --replace-fail "Exec=JS8Call" "Exec=js8call" + ''; + + meta = { + description = "Weak-signal keyboard messaging for amateur radio"; + longDescription = '' + JS8Call is software using the JS8 Digital Mode providing weak signal + keyboard to keyboard messaging to Amateur Radio Operators. + + JS8Call-Improved is a community-driven evolution of JS8Call, + bringing modern features, active development, and long-term + support to HF digital communication. It’s fully compatible with + existing JS8Call versions while adding new capabilities and + refinements. + ''; + homepage = "https://js8call-improved.com/"; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + sarcasticadmin + pdg137 + ]; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0d3d4cf78014..a36fa4a0c199 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10236,8 +10236,6 @@ with pkgs; jackmix_jack1 = jackmix.override { jack = jack1; }; - js8call = qt5.callPackage ../applications/radio/js8call { }; - jwm = callPackage ../applications/window-managers/jwm { }; jwm-settings-manager = callPackage ../applications/window-managers/jwm/jwm-settings-manager.nix { };