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 { };