{nixos/,}clickshare-csc1: remove (prepare Qt4 removal)

Qt4 is on it's way out, according to

https://github.com/NixOS/nixpkgs/pull/174634

Barco's ClickShare driver/client requires Qt4;
an update isn't in sight anywhere.

To prepare for the removal of Qt4,
the commit at hand removes the
ClickShare package and its NixOS module.
The release notes are appended with a hint about the
removal and some alternatives that might help users
that are still in need of the driver/client functionality.
This commit is contained in:
Yarny0 2022-06-16 16:04:09 +02:00
parent 693d5359ee
commit bd86db1833
7 changed files with 18 additions and 146 deletions

View File

@ -115,6 +115,19 @@
<literal>(with foo; isPower &amp;&amp; is32bit &amp;&amp; isBigEndian)</literal>.
</para>
</listitem>
<listitem>
<para>
The Barco ClickShare driver/client package
<literal>pkgs.clickshare-csc1</literal> and the option
<literal>programs.clickshare-csc1.enable</literal> have been
removed, as it requires <literal>qt4</literal>, which reached
its end-of-life 2015 and will no longer be supported by
nixpkgs.
<link xlink:href="https://www.barco.com/de/support/knowledge-base/4380-can-i-use-linux-os-with-clickshare-base-units">According
to Barco</link> many of their base unit models can be used
with Google Chrome and the Google Cast extension.
</para>
</listitem>
<listitem>
<para>
PHP 7.4 is no longer supported due to upstream not supporting

View File

@ -47,6 +47,10 @@ In addition to numerous new and upgraded packages, this release has the followin
- The `isPowerPC` predicate, found on `platform` attrsets (`hostPlatform`, `buildPlatform`, `targetPlatform`, etc) has been removed in order to reduce confusion. The predicate was was defined such that it matches only the 32-bit big-endian members of the POWER/PowerPC family, despite having a name which would imply a broader set of systems. If you were using this predicate, you can replace `foo.isPowerPC` with `(with foo; isPower && is32bit && isBigEndian)`.
- The Barco ClickShare driver/client package `pkgs.clickshare-csc1` and the option `programs.clickshare-csc1.enable` have been removed,
as it requires `qt4`, which reached its end-of-life 2015 and will no longer be supported by nixpkgs.
[According to Barco](https://www.barco.com/de/support/knowledge-base/4380-can-i-use-linux-os-with-clickshare-base-units) many of their base unit models can be used with Google Chrome and the Google Cast extension.
- PHP 7.4 is no longer supported due to upstream not supporting this
version for the entire lifecycle of the 22.11 release.

View File

@ -141,7 +141,6 @@
./programs/cdemu.nix
./programs/cfs-zen-tweaks.nix
./programs/chromium.nix
./programs/clickshare.nix
./programs/cnping.nix
./programs/command-not-found/command-not-found.nix
./programs/criu.nix

View File

@ -1,21 +0,0 @@
{ config, lib, pkgs, ... }:
{
options.programs.clickshare-csc1.enable =
lib.options.mkEnableOption ''
Barco ClickShare CSC-1 driver/client.
This allows users in the <literal>clickshare</literal>
group to access and use a ClickShare USB dongle
that is connected to the machine
'';
config = lib.modules.mkIf config.programs.clickshare-csc1.enable {
environment.systemPackages = [ pkgs.clickshare-csc1 ];
services.udev.packages = [ pkgs.clickshare-csc1 ];
users.groups.clickshare = {};
};
meta.maintainers = [ lib.maintainers.yarny ];
}

View File

@ -1,122 +0,0 @@
{ lib
, stdenv
, fetchurl
, alsa-lib
, autoPatchelfHook
, binutils-unwrapped
, libav_0_8
, libnotify
, libresample
, libusb1
, qt4
, rpmextract
, unzip
, xorg
, usersGroup ? "clickshare" # for udev access rules
}:
# This fetches the latest firmware version that
# contains a linux-compatible client binary.
# Barco no longer supports linux, so updates are unlikely:
# https://www.barco.com/de/support/clickshare-csc-1/knowledge-base/KB1191
stdenv.mkDerivation rec {
pname = "clickshare-csc1";
version = "01.07.00.033";
src = fetchurl {
name = "clickshare-csc1-${version}.zip";
url = "https://www.barco.com/services/website/de/TdeFiles/Download?FileNumber=R33050020&TdeType=3&MajorVersion=01&MinorVersion=07&PatchVersion=00&BuildVersion=033";
sha256 = "0h4jqidqvk4xkaky5bizi7ilz4qzl2mh68401j21y3djnzx09br3";
};
nativeBuildInputs = [
autoPatchelfHook
binutils-unwrapped
rpmextract
unzip
];
buildInputs = [
alsa-lib
libav_0_8
libnotify
libresample
libusb1
qt4
xorg.libX11
xorg.libXdamage
xorg.libXfixes
xorg.libXinerama
xorg.libXtst
];
sourceRoot = ".";
# The source consists of nested archives.
# We extract them archive by archive.
# If the filename contains version numbers,
# we use a wildcard and check that there
# is actually only one file matching.
postUnpack =
let
rpmArch =
if stdenv.hostPlatform.isx86_32 then "i386" else
if stdenv.hostPlatform.isx86_64 then "x86_64" else
throw "unsupported system: ${stdenv.hostPlatform.system}";
in
''
ls clickshare_baseunit_*.*_all.signed_release.ipk | wc --lines | xargs test 1 =
tar --verbose --extract --one-top-level=dir1 < clickshare_baseunit_*.*_all.signed_release.ipk
mkdir dir2
( cd dir2 ; ar xv ../dir1/firmware.ipk )
tar --verbose --gzip --extract --one-top-level=dir3 --exclude='dev/*' < dir2/data.tar.gz
ls dir3/clickshare/clickshare-*-*.${rpmArch}.rpm | wc --lines | xargs test 1 =
mkdir dir4
cd dir4
rpmextract ../dir3/clickshare/clickshare-*-*.${rpmArch}.rpm
'';
installPhase = ''
runHook preInstall
mkdir --verbose --parents $out
mv --verbose --target-directory=. usr/*
rmdir --verbose usr
cp --verbose --recursive --target-directory=$out *
runHook postInstall
'';
# Default udev rule restricts access to the
# clickshare USB dongle to the `wheel` group.
# We replace it with the group
# stated in the package arguments.
# Also, we patch executable and icon paths in .desktop files.
preFixup = ''
substituteInPlace \
$out/lib/udev/rules.d/99-clickshare.rules \
--replace wheel ${usersGroup}
substituteInPlace \
$out/share/applications/clickshare.desktop \
--replace Exec= Exec=$out/bin/ \
--replace =/usr =$out
substituteInPlace \
$out/etc/xdg/autostart/clickshare-launcher.desktop \
--replace =/usr =$out
'';
meta = {
homepage = "https://www.barco.com/de/support/clickshare-csc-1/drivers";
downloadPage = "https://www.barco.com/de/Support/software/R33050020";
platforms = [ "i686-linux" "x86_64-linux" ];
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.yarny ];
description = "Linux driver/client for Barco ClickShare CSC-1";
longDescription = ''
Barco ClickShare is a wireless presentation system
where a USB dongle transmits to a base station
that is connected with a beamer.
The USB dongle requires proprietary software that
captures the screen and sends it to the dongle.
This package provides the necessary software for Linux.
'';
};
}

View File

@ -175,6 +175,7 @@ mapAliases ({
cipherscan = throw "cipherscan was removed from nixpkgs, as it was unmaintained"; # added 2021-12-11
citra = citra-nightly; # added 2022-05-17
ckb = throw "'ckb' has been renamed to/replaced by 'ckb-next'"; # Converted to throw 2022-02-22
clickshare-csc1 = throw "'clickshare-csc1' has been removed as it requires qt4 which is being removed"; # Added 2022-06-16
inherit (libsForQt5.mauiPackages) clip; # added 2022-05-17
cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15
creddump = throw "creddump has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01

View File

@ -25683,8 +25683,6 @@ with pkgs;
inherit (xorg) libSM;
};
clickshare-csc1 = callPackage ../applications/video/clickshare-csc1 { };
cligh = python3Packages.callPackage ../development/tools/github/cligh {};
clight = callPackage ../applications/misc/clight { };