···504504 )505505 _prefetch = functools.partial(prefetch, cache=cache)506506507507+ to_update_for_filter = [x.replace(".", "-") for x in to_update]507508 plugins_to_update = (508509 current_plugin_specs509510 if len(to_update) == 0510511 else [511512 description512513 for description in current_plugin_specs513513- if self.filter_plugins_to_update(description, to_update)514514+ if self.filter_plugins_to_update(description, to_update_for_filter)514515 ]515516 )516517
···124124 type = lib.types.separatedString " ";125125 default = "-C";126126 description = ''127127- Command line options for pg_dump or pg_dumpall.127127+ Command line options for pg_dump. This options is not used if128128+ `config.services.postgresqlBackup.backupAll` is enabled. Note that129129+ config.services.postgresqlBackup.backupAll is also active, when no130130+ databases where specified.131131+ '';132132+ };133133+134134+ pgdumpAllOptions = lib.mkOption {135135+ type = lib.types.separatedString " ";136136+ default = "";137137+ description = ''138138+ Command line options for pg_dumpall. This options is not used if139139+ `config.services.postgresqlBackup.backupAll` is disabled.128140 '';129141 };130142···187175 }188176189177 (lib.mkIf cfg.backupAll {190190- systemd.services.postgresqlBackup = postgresqlBackupService "all" "pg_dumpall ${cfg.pgdumpOptions}";178178+ systemd.services.postgresqlBackup = postgresqlBackupService "all" "pg_dumpall ${cfg.pgdumpAllOptions}";191179 })192180193181 (lib.mkIf (!cfg.backupAll) {
+8-6
nixos/modules/services/printing/cups-pdf.nix
···4242 instanceSettings = name: {4343 freeformType =4444 with lib.types;4545- nullOr (oneOf [4646- int4747- str4848- path4949- package5050- ]);4545+ attrsOf (4646+ nullOr (oneOf [4747+ int4848+ str4949+ path5050+ package5151+ ])5252+ );5153 # override defaults:5254 # inject instance name into paths,5355 # also avoid conflicts between user names and special dirs
···11+{22+ buildPackages,33+ fetchFromGitHub,44+ lib,55+ openssl,66+ pkgsCross,77+ stdenv,88+99+ # Warning: this blob (hdcp.bin) runs on the main CPU (not the GPU) at1010+ # privilege level EL3, which is above both the kernel and the1111+ # hypervisor.1212+ #1313+ # This parameter applies only to platforms which are believed to use1414+ # hdcp.bin. On all other platforms, or if unfreeIncludeHDCPBlob=false,1515+ # hdcp.bin will be deleted before building.1616+ unfreeIncludeHDCPBlob ? true,1717+}:1818+1919+lib.extendMkDerivation {2020+ constructDrv = stdenv.mkDerivation;2121+2222+ excludeDrvArgNames = [ "extraMeta" ];2323+2424+ extendDrvArgs =2525+ finalAttrs:2626+ {2727+ filesToInstall,2828+ installDir ? "$out",2929+ platform ? null,3030+ platformCanUseHDCPBlob ? false, # set this to true if the platform is able to use hdcp.bin3131+ ...3232+ }@args:3333+3434+ # delete hdcp.bin if either: the platform is thought to3535+ # not need it or unfreeIncludeHDCPBlob is false3636+ let3737+ deleteHDCPBlobBeforeBuild = !platformCanUseHDCPBlob || !unfreeIncludeHDCPBlob;3838+ in3939+ {4040+ pname = "arm-trusted-firmware${lib.optionalString (platform != null) "-${platform}"}";4141+ version = args.version or "2.13.0";4242+4343+ src =4444+ args.src or (fetchFromGitHub {4545+ owner = "ARM-software";4646+ repo = "arm-trusted-firmware";4747+ tag = "v${finalAttrs.version}";4848+ hash = "sha256-rxm5RCjT/MyMCTxiEC8jQeFMrCggrb2DRbs/qDPXb20=";4949+ });5050+5151+ patches =5252+ lib.optionals deleteHDCPBlobBeforeBuild [5353+ # this is a rebased version of https://gitlab.com/vicencb/kevinboot/-/blob/master/atf.patch5454+ ./remove-hdcp-blob.patch5555+ ]5656+ ++ args.patches or [ ];5757+5858+ postPatch =5959+ lib.optionalString deleteHDCPBlobBeforeBuild ''6060+ rm plat/rockchip/rk3399/drivers/dp/hdcp.bin6161+ ''6262+ + args.postPatch or "";6363+6464+ depsBuildBuild = [ buildPackages.stdenv.cc ] ++ args.depsBuildBuild or [ ];6565+6666+ nativeBuildInputs = [6767+ pkgsCross.arm-embedded.stdenv.cc # For Cortex-M0 firmware in RK33996868+ openssl # For fiptool6969+ ]7070+ ++ args.nativeBuildInputs or [ ];7171+7272+ # Make the new toolchain guessing (from 2.11+) happy7373+ # https://github.com/ARM-software/arm-trusted-firmware/blob/4ec2948fe3f65dba2f19e691e702f7de2949179c/make_helpers/toolchains/rk3399-m0.mk#L21-L227474+ rk3399-m0-oc = "${pkgsCross.arm-embedded.stdenv.cc.targetPrefix}objcopy";7575+7676+ buildInputs = [ openssl ] ++ args.buildInputs or [ ];7777+7878+ makeFlags = [7979+ "HOSTCC=$(CC_FOR_BUILD)"8080+ "M0_CROSS_COMPILE=${pkgsCross.arm-embedded.stdenv.cc.targetPrefix}"8181+ "CROSS_COMPILE=${stdenv.cc.targetPrefix}"8282+ # Make the new toolchain guessing (from 2.11+) happy8383+ "CC=${stdenv.cc.targetPrefix}cc"8484+ "LD=${stdenv.cc.targetPrefix}cc"8585+ "AS=${stdenv.cc.targetPrefix}cc"8686+ "OC=${stdenv.cc.targetPrefix}objcopy"8787+ "OD=${stdenv.cc.targetPrefix}objdump"8888+ # Passing OpenSSL path according to docs/design/trusted-board-boot-build.rst8989+ "OPENSSL_DIR=${openssl}"9090+ ]9191+ ++ (lib.optional (platform != null) "PLAT=${platform}")9292+ ++ args.makeFlags or [ ]9393+ ++ (lib.warnIf (args ? extraMakeFlags)9494+ "buildArmTrustedFirmware now accepts `makeFlags`, please switch from using `extraMakeFlags` to `makeFlags`"9595+ args.extraMakeFlags or [ ]9696+ );9797+9898+ installPhase = ''9999+ runHook preInstall100100+101101+ mkdir -p ${installDir}102102+ cp ${lib.concatStringsSep " " filesToInstall} ${installDir}103103+104104+ runHook postInstall105105+ '';106106+107107+ hardeningDisable = [ "all" ];108108+ dontStrip = true;109109+110110+ # breaks secondary CPU bringup on at least RK3588, maybe others111111+ env.NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";112112+113113+ meta = {114114+ homepage = "https://github.com/ARM-software/arm-trusted-firmware";115115+ description = "Reference implementation of secure world software for ARMv8-A";116116+ license = [117117+ lib.licenses.bsd3118118+ ]119119+ ++ lib.optionals (!deleteHDCPBlobBeforeBuild) [ lib.licenses.unfreeRedistributable ];120120+ maintainers = [ lib.maintainers.lopsided98 ];121121+ }122122+ // (args.meta or { })123123+ // (lib.warnIf (args ? extraMeta)124124+ "buildArmTrustedFirmware now accepts `meta`, please switch from using `extraMeta` to `meta`"125125+ args.extraMeta or { }126126+ );127127+ };128128+}
+46-172
pkgs/misc/arm-trusted-firmware/default.nix
···11+{ buildArmTrustedFirmware, stdenv }:22+13{22- lib,33- stdenv,44- fetchFromGitHub,55- fetchFromGitLab,66- openssl,77- pkgsCross,88- buildPackages,99-1010- # Warning: this blob (hdcp.bin) runs on the main CPU (not the GPU) at1111- # privilege level EL3, which is above both the kernel and the1212- # hypervisor.1313- #1414- # This parameter applies only to platforms which are believed to use1515- # hdcp.bin. On all other platforms, or if unfreeIncludeHDCPBlob=false,1616- # hdcp.bin will be deleted before building.1717- unfreeIncludeHDCPBlob ? true,1818-}:1919-2020-let2121- buildArmTrustedFirmware = lib.makeOverridable (2222- {2323- filesToInstall,2424- installDir ? "$out",2525- platform ? null,2626- platformCanUseHDCPBlob ? false, # set this to true if the platform is able to use hdcp.bin2727- extraMakeFlags ? [ ],2828- extraMeta ? { },2929- ...3030- }@args:3131-3232- # delete hdcp.bin if either: the platform is thought to3333- # not need it or unfreeIncludeHDCPBlob is false3434- let3535- deleteHDCPBlobBeforeBuild = !platformCanUseHDCPBlob || !unfreeIncludeHDCPBlob;3636- in3737-3838- stdenv.mkDerivation (3939- rec {4040-4141- pname = "arm-trusted-firmware${lib.optionalString (platform != null) "-${platform}"}";4242- version = "2.13.0";4343-4444- src = fetchFromGitHub {4545- owner = "ARM-software";4646- repo = "arm-trusted-firmware";4747- tag = "v${version}";4848- hash = "sha256-rxm5RCjT/MyMCTxiEC8jQeFMrCggrb2DRbs/qDPXb20=";4949- };5050-5151- patches = lib.optionals deleteHDCPBlobBeforeBuild [5252- # this is a rebased version of https://gitlab.com/vicencb/kevinboot/-/blob/master/atf.patch5353- ./remove-hdcp-blob.patch5454- ];5555-5656- postPatch = lib.optionalString deleteHDCPBlobBeforeBuild ''5757- rm plat/rockchip/rk3399/drivers/dp/hdcp.bin5858- '';5959-6060- depsBuildBuild = [ buildPackages.stdenv.cc ];6161-6262- nativeBuildInputs = [6363- pkgsCross.arm-embedded.stdenv.cc # For Cortex-M0 firmware in RK33996464- openssl # For fiptool6565- ];6666-6767- # Make the new toolchain guessing (from 2.11+) happy6868- # https://github.com/ARM-software/arm-trusted-firmware/blob/4ec2948fe3f65dba2f19e691e702f7de2949179c/make_helpers/toolchains/rk3399-m0.mk#L21-L226969- rk3399-m0-oc = "${pkgsCross.arm-embedded.stdenv.cc.targetPrefix}objcopy";7070-7171- buildInputs = [ openssl ];7272-7373- makeFlags = [7474- "HOSTCC=$(CC_FOR_BUILD)"7575- "M0_CROSS_COMPILE=${pkgsCross.arm-embedded.stdenv.cc.targetPrefix}"7676- "CROSS_COMPILE=${stdenv.cc.targetPrefix}"7777- # Make the new toolchain guessing (from 2.11+) happy7878- "CC=${stdenv.cc.targetPrefix}cc"7979- "LD=${stdenv.cc.targetPrefix}cc"8080- "AS=${stdenv.cc.targetPrefix}cc"8181- "OC=${stdenv.cc.targetPrefix}objcopy"8282- "OD=${stdenv.cc.targetPrefix}objdump"8383- # Passing OpenSSL path according to docs/design/trusted-board-boot-build.rst8484- "OPENSSL_DIR=${openssl}"8585- ]8686- ++ (lib.optional (platform != null) "PLAT=${platform}")8787- ++ extraMakeFlags;8888-8989- installPhase = ''9090- runHook preInstall9191-9292- mkdir -p ${installDir}9393- cp ${lib.concatStringsSep " " filesToInstall} ${installDir}9494-9595- runHook postInstall9696- '';9797-9898- hardeningDisable = [ "all" ];9999- dontStrip = true;100100-101101- # breaks secondary CPU bringup on at least RK3588, maybe others102102- env.NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";103103-104104- meta =105105- with lib;106106- {107107- homepage = "https://github.com/ARM-software/arm-trusted-firmware";108108- description = "Reference implementation of secure world software for ARMv8-A";109109- license = [110110- licenses.bsd3111111- ]112112- ++ lib.optionals (!deleteHDCPBlobBeforeBuild) [ licenses.unfreeRedistributable ];113113- maintainers = with maintainers; [ lopsided98 ];114114- }115115- // extraMeta;116116- }117117- // builtins.removeAttrs args [ "extraMeta" ]118118- )119119- );120120-121121-in122122-{123123- inherit buildArmTrustedFirmware;124124-1254 armTrustedFirmwareTools = buildArmTrustedFirmware {126126- # Normally, arm-trusted-firmware builds the build tools for buildPlatform127127- # using CC_FOR_BUILD (or as it calls it HOSTCC). Since want to build them128128- # for the hostPlatform here, we trick it by overriding the HOSTCC setting129129- # and, to be safe, remove CC_FOR_BUILD from the environment.130130- depsBuildBuild = [ ];131131- extraMakeFlags = [55+ makeFlags = [1326 "HOSTCC=${stdenv.cc.targetPrefix}gcc"1337 "fiptool"1348 "certtool"···17143 '';18144 };191452020- armTrustedFirmwareAllwinner = buildArmTrustedFirmware rec {146146+ armTrustedFirmwareAllwinner = buildArmTrustedFirmware (finalAttrs: {21147 platform = "sun50i_a64";2222- extraMeta.platforms = [ "aarch64-linux" ];2323- filesToInstall = [ "build/${platform}/release/bl31.bin" ];2424- };148148+ meta.platforms = [ "aarch64-linux" ];149149+ filesToInstall = [ "build/${finalAttrs.platform}/release/bl31.bin" ];150150+ });251512626- armTrustedFirmwareAllwinnerH616 = buildArmTrustedFirmware rec {152152+ armTrustedFirmwareAllwinnerH616 = buildArmTrustedFirmware (finalAttrs: {27153 platform = "sun50i_h616";2828- extraMeta.platforms = [ "aarch64-linux" ];2929- filesToInstall = [ "build/${platform}/release/bl31.bin" ];3030- };154154+ meta.platforms = [ "aarch64-linux" ];155155+ filesToInstall = [ "build/${finalAttrs.platform}/release/bl31.bin" ];156156+ });311573232- armTrustedFirmwareAllwinnerH6 = buildArmTrustedFirmware rec {158158+ armTrustedFirmwareAllwinnerH6 = buildArmTrustedFirmware (finalAttrs: {33159 platform = "sun50i_h6";3434- extraMeta.platforms = [ "aarch64-linux" ];3535- filesToInstall = [ "build/${platform}/release/bl31.bin" ];3636- };160160+ meta.platforms = [ "aarch64-linux" ];161161+ filesToInstall = [ "build/${finalAttrs.platform}/release/bl31.bin" ];162162+ });371633838- armTrustedFirmwareQemu = buildArmTrustedFirmware rec {164164+ armTrustedFirmwareQemu = buildArmTrustedFirmware (finalAttrs: {39165 platform = "qemu";4040- extraMeta.platforms = [ "aarch64-linux" ];166166+ meta.platforms = [ "aarch64-linux" ];41167 filesToInstall = [4242- "build/${platform}/release/bl1.bin"4343- "build/${platform}/release/bl2.bin"4444- "build/${platform}/release/bl31.bin"168168+ "build/${finalAttrs.platform}/release/bl1.bin"169169+ "build/${finalAttrs.platform}/release/bl2.bin"170170+ "build/${finalAttrs.platform}/release/bl31.bin"45171 ];4646- };172172+ });471734848- armTrustedFirmwareRK3328 = buildArmTrustedFirmware rec {4949- extraMakeFlags = [ "bl31" ];174174+ armTrustedFirmwareRK3328 = buildArmTrustedFirmware (finalAttrs: {175175+ makeFlags = [ "bl31" ];50176 platform = "rk3328";5151- extraMeta.platforms = [ "aarch64-linux" ];5252- filesToInstall = [ "build/${platform}/release/bl31/bl31.elf" ];5353- };177177+ meta.platforms = [ "aarch64-linux" ];178178+ filesToInstall = [ "build/${finalAttrs.platform}/release/bl31/bl31.elf" ];179179+ });541805555- armTrustedFirmwareRK3399 = buildArmTrustedFirmware rec {5656- extraMakeFlags = [ "bl31" ];181181+ armTrustedFirmwareRK3399 = buildArmTrustedFirmware (finalAttrs: {182182+ makeFlags = [ "bl31" ];57183 platform = "rk3399";5858- extraMeta.platforms = [ "aarch64-linux" ];5959- filesToInstall = [ "build/${platform}/release/bl31/bl31.elf" ];184184+ meta.platforms = [ "aarch64-linux" ];185185+ filesToInstall = [ "build/${finalAttrs.platform}/release/bl31/bl31.elf" ];60186 platformCanUseHDCPBlob = true;6161- };187187+ });621886363- armTrustedFirmwareRK3568 = buildArmTrustedFirmware rec {6464- extraMakeFlags = [ "bl31" ];189189+ armTrustedFirmwareRK3568 = buildArmTrustedFirmware (finalAttrs: {190190+ makeFlags = [ "bl31" ];65191 platform = "rk3568";6666- extraMeta.platforms = [ "aarch64-linux" ];6767- filesToInstall = [ "build/${platform}/release/bl31/bl31.elf" ];6868- };192192+ meta.platforms = [ "aarch64-linux" ];193193+ filesToInstall = [ "build/${finalAttrs.platform}/release/bl31/bl31.elf" ];194194+ });691957070- armTrustedFirmwareRK3588 = buildArmTrustedFirmware rec {7171- extraMakeFlags = [ "bl31" ];196196+ armTrustedFirmwareRK3588 = buildArmTrustedFirmware (finalAttrs: {197197+ makeFlags = [ "bl31" ];72198 platform = "rk3588";7373- extraMeta.platforms = [ "aarch64-linux" ];7474- filesToInstall = [ "build/${platform}/release/bl31/bl31.elf" ];7575- };199199+ meta.platforms = [ "aarch64-linux" ];200200+ filesToInstall = [ "build/${finalAttrs.platform}/release/bl31/bl31.elf" ];201201+ });762027777- armTrustedFirmwareS905 = buildArmTrustedFirmware rec {7878- extraMakeFlags = [ "bl31" ];203203+ armTrustedFirmwareS905 = buildArmTrustedFirmware (finalAttrs: {204204+ makeFlags = [ "bl31" ];79205 platform = "gxbb";8080- extraMeta.platforms = [ "aarch64-linux" ];8181- filesToInstall = [ "build/${platform}/release/bl31.bin" ];8282- };206206+ meta.platforms = [ "aarch64-linux" ];207207+ filesToInstall = [ "build/${finalAttrs.platform}/release/bl31.bin" ];208208+ });83209}