Replace js8call with js8call-improved (#486609)

This commit is contained in:
@mjones
2026-02-12 05:51:56 +00:00
committed by GitHub
4 changed files with 87 additions and 65 deletions
+5
View File
@@ -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";
@@ -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
];
};
})
+82
View File
@@ -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. Its 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
];
};
})
-2
View File
@@ -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 { };