From bd86db18330c613c7ddee027c749580c9c61ec30 Mon Sep 17 00:00:00 2001
From: Yarny0 <41838844+Yarny0@users.noreply.github.com>
Date: Thu, 16 Jun 2022 16:04:09 +0200
Subject: [PATCH] {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.
---
.../from_md/release-notes/rl-2211.section.xml | 13 ++
.../manual/release-notes/rl-2211.section.md | 4 +
nixos/modules/module-list.nix | 1 -
nixos/modules/programs/clickshare.nix | 21 ---
.../video/clickshare-csc1/default.nix | 122 ------------------
pkgs/top-level/aliases.nix | 1 +
pkgs/top-level/all-packages.nix | 2 -
7 files changed, 18 insertions(+), 146 deletions(-)
delete mode 100644 nixos/modules/programs/clickshare.nix
delete mode 100644 pkgs/applications/video/clickshare-csc1/default.nix
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index 958000687810..7b988a76019b 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -115,6 +115,19 @@
(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 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
diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md
index 1a14885ed8c3..2d6e3f4c9375 100644
--- a/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -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.
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 43ae28ac02c5..7dfc5d8511b2 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -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
diff --git a/nixos/modules/programs/clickshare.nix b/nixos/modules/programs/clickshare.nix
deleted file mode 100644
index 9980a7daf525..000000000000
--- a/nixos/modules/programs/clickshare.nix
+++ /dev/null
@@ -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 clickshare
- 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 ];
-
-}
diff --git a/pkgs/applications/video/clickshare-csc1/default.nix b/pkgs/applications/video/clickshare-csc1/default.nix
deleted file mode 100644
index ce63b9240306..000000000000
--- a/pkgs/applications/video/clickshare-csc1/default.nix
+++ /dev/null
@@ -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.
- '';
- };
-}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index e380081d24ac..08b51e0670bf 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -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
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 280a79821a39..4b0242acc278 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -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 { };