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). - [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. - [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 imports = [
options.programs.k3b = { (lib.mkRemovedOptionModule [ "programs" "k3b" "enable" ]
enable = lib.mkOption { "Please add kdePackages.k3b to environment.systemPackages instead")
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";
};
};
};
} }

View File

@ -26,7 +26,7 @@ still shows most of the available features is in `./gwenview`.
*/ */
{ {
lib, libsForQt5, fetchurl, lib, config, libsForQt5, fetchurl,
}: }:
let let
@ -96,7 +96,6 @@ let
incidenceeditor = callPackage ./incidenceeditor.nix {}; incidenceeditor = callPackage ./incidenceeditor.nix {};
itinerary = callPackage ./itinerary.nix {}; itinerary = callPackage ./itinerary.nix {};
juk = callPackage ./juk.nix {}; juk = callPackage ./juk.nix {};
k3b = callPackage ./k3b.nix {};
kaccounts-integration = callPackage ./kaccounts-integration.nix {}; kaccounts-integration = callPackage ./kaccounts-integration.nix {};
kaccounts-providers = callPackage ./kaccounts-providers.nix {}; kaccounts-providers = callPackage ./kaccounts-providers.nix {};
kaddressbook = callPackage ./kaddressbook.nix {}; kaddressbook = callPackage ./kaddressbook.nix {};
@ -264,6 +263,8 @@ let
qmlkonsole = callPackage ./qmlkonsole.nix {}; qmlkonsole = callPackage ./qmlkonsole.nix {};
telly-skout = callPackage ./telly-skout.nix {}; telly-skout = callPackage ./telly-skout.nix {};
tokodon = callPackage ./tokodon.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 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 { libsForQt5 = (recurseIntoAttrs (import ./qt5-packages.nix {
inherit lib __splicedPackages makeScopeWithSplicing' generateSplicesForMkScope pkgsHostTarget; inherit lib config __splicedPackages makeScopeWithSplicing' generateSplicesForMkScope pkgsHostTarget;
})) // { __recurseIntoDerivationForReleaseJobs = true; }; })) // { __recurseIntoDerivationForReleaseJobs = true; };
# plasma5Packages maps to the Qt5 packages set that is used to build the plasma5 desktop # plasma5Packages maps to the Qt5 packages set that is used to build the plasma5 desktop

View File

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