nixos/k3b: remove, refer users to k3b 24.08 (Qt 6) (#351093)

This commit is contained in:
K900 2025-03-29 14:12:02 +03:00 committed by GitHub
commit 4b2bc4c4d7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 12 additions and 100 deletions

View File

@ -101,7 +101,7 @@ In addition to numerous new and upgraded packages, this release has the followin
- [InvoicePlane](https://invoiceplane.com), web application for managing and creating invoices. Available at [services.invoiceplane](#opt-services.invoiceplane.sites._name_.enable).
- [k3b](https://userbase.kde.org/K3b), the KDE disk burning application. Available as [programs.k3b](#opt-programs.k3b.enable).
- [k3b](https://userbase.kde.org/K3b), the KDE disk burning application. Available as programs.k3b.
- [K40-Whisperer](https://www.scorchworks.com/K40whisperer/k40whisperer.html), a program to control cheap Chinese laser cutters. Available as [programs.k40-whisperer.enable](#opt-programs.k40-whisperer.enable). Users must add themselves to the `k40` group to be able to access the device.

View File

@ -1,50 +1,8 @@
{ config, pkgs, lib, ... }:
{ lib, ... }:
{
# interface
options.programs.k3b = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to enable k3b, the KDE disk burning application.
Additionally to installing `k3b` enabling this will
add `setuid` wrappers in `/run/wrappers/bin`
for both `cdrdao` and `cdrecord`. On first
run you must manually configure the path of `cdrdae` and
`cdrecord` to correspond to the appropriate paths under
`/run/wrappers/bin` in the "Setup External Programs" menu.
'';
};
};
# implementation
config = lib.mkIf config.programs.k3b.enable {
environment.systemPackages = with pkgs; [
k3b
dvdplusrwtools
cdrdao
cdrtools
];
security.wrappers = {
cdrdao = {
setuid = true;
owner = "root";
group = "cdrom";
permissions = "u+wrx,g+x";
source = "${pkgs.cdrdao}/bin/cdrdao";
};
cdrecord = {
setuid = true;
owner = "root";
group = "cdrom";
permissions = "u+wrx,g+x";
source = "${pkgs.cdrtools}/bin/cdrecord";
};
};
};
imports = [
(lib.mkRemovedOptionModule [ "programs" "k3b" "enable" ]
"Please add kdePackages.k3b to environment.systemPackages instead")
];
}

View File

@ -26,7 +26,7 @@ still shows most of the available features is in `./gwenview`.
*/
{
lib, libsForQt5, fetchurl,
lib, config, libsForQt5, fetchurl,
}:
let
@ -96,7 +96,6 @@ let
incidenceeditor = callPackage ./incidenceeditor.nix {};
itinerary = callPackage ./itinerary.nix {};
juk = callPackage ./juk.nix {};
k3b = callPackage ./k3b.nix {};
kaccounts-integration = callPackage ./kaccounts-integration.nix {};
kaccounts-providers = callPackage ./kaccounts-providers.nix {};
kaddressbook = callPackage ./kaddressbook.nix {};
@ -264,6 +263,8 @@ let
qmlkonsole = callPackage ./qmlkonsole.nix {};
telly-skout = callPackage ./telly-skout.nix {};
tokodon = callPackage ./tokodon.nix {};
} // lib.optionalAttrs config.allowAliases {
k3b = throw "libsForQt5.k3b has been dropped in favor of kdePackages.k3b";
};
in lib.makeScope libsForQt5.newScope packages

View File

@ -1,48 +0,0 @@
{ mkDerivation, lib
, extra-cmake-modules, kdoctools, makeWrapper, shared-mime-info
, libkcddb, karchive, kcmutils, kfilemetadata, knewstuff, knotifyconfig, solid, kxmlgui
, flac, lame, libmad, libmpcdec, libvorbis
, libsamplerate, libsndfile, taglib
, cdparanoia, cdrdao, cdrtools, dvdplusrwtools, libburn, libdvdcss, libdvdread, vcdimager
, ffmpeg, libmusicbrainz3, normalize, sox, transcode, kinit
}:
mkDerivation {
pname = "k3b";
meta = with lib; {
homepage = "https://apps.kde.org/k3b/";
description = "Disk burning application";
mainProgram = "k3b";
license = with licenses; [ gpl2Plus ];
maintainers = with maintainers; [ sander ];
platforms = platforms.linux;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ];
buildInputs = [
# kde
libkcddb karchive kcmutils kfilemetadata knewstuff knotifyconfig solid kxmlgui
# formats
flac lame libmad libmpcdec libvorbis
# sound utilities
libsamplerate libsndfile taglib
# cd/dvd
cdparanoia libdvdcss libdvdread
# others
ffmpeg libmusicbrainz3 shared-mime-info
];
propagatedUserEnvPkgs = [ (lib.getBin kinit) ];
postFixup =
let
binPath = lib.makeBinPath [
cdrdao cdrtools dvdplusrwtools libburn normalize sox transcode
vcdimager flac
];
libraryPath = lib.makeLibraryPath [
cdparanoia
];
in ''
wrapProgram "$out/bin/k3b" \
--prefix PATH : "${binPath}" \
--prefix LD_LIBRARY_PATH : ${libraryPath}
'';
}

View File

@ -10033,7 +10033,7 @@ with pkgs;
});
libsForQt5 = (recurseIntoAttrs (import ./qt5-packages.nix {
inherit lib __splicedPackages makeScopeWithSplicing' generateSplicesForMkScope pkgsHostTarget;
inherit lib config __splicedPackages makeScopeWithSplicing' generateSplicesForMkScope pkgsHostTarget;
})) // { __recurseIntoDerivationForReleaseJobs = true; };
# plasma5Packages maps to the Qt5 packages set that is used to build the plasma5 desktop

View File

@ -7,6 +7,7 @@
{ lib
, config
, __splicedPackages
, makeScopeWithSplicing'
, generateSplicesForMkScope
@ -47,7 +48,7 @@ makeScopeWithSplicing' {
kdeGear = let
mkGear = import ../applications/kde;
attrs = {
inherit libsForQt5;
inherit config libsForQt5;
inherit (pkgs) lib fetchurl;
};
in (lib.makeOverridable mkGear attrs);