brainstem: remove package

The SDK tarballs are not guaranteed to stay around:

> We keep all release artifacts, but we do not keep them publicly
> available; nor do we guarantee their availability. The links I have
> provided are also not guaranteed. As I mentioned we can generally
> provide these upon request.

This means, this expression is likely to fail in the near future, so
it's unsuitable to be packaged in nixpkgs.

It's better to keep it wherever it's used (and vendor the tarballs
there).
This commit is contained in:
Florian Klink 2024-05-22 12:40:51 +02:00
parent e08296e676
commit 7484c85f92

View File

@ -1,90 +0,0 @@
{ stdenv
, lib
, autoPatchelfHook
, fetchzip
, curl
, systemd
, zlib
, writeText
, withUpdater ? true
, ...
}:
let
version = "2.10.5";
# Upstream has a udev.sh script asking for mode and group, but with uaccess we
# don't need any of that and can make it entirely static.
# For any rule adding the uaccess tag to be effective, the name of the file it
# is defined in has to lexically precede 73-seat-late.rules.
udevRule = writeText "60-brainstem.rules" ''
# Acroname Brainstem control devices
SUBSYSTEM=="usb", ATTRS{idVendor}=="24ff", TAG+="uaccess"
# Acroname recovery devices (pb82, pb242, pb167)
SUBSYSTEM=="tty", ATTRS{idVendor}=="0424", ATTRS{idProduct}=="274e", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", TAG+="uaccess"
KERNEL=="hidraw*", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0130", TAG+="uaccess"
'';
src = fetchzip {
url = "https://acroname.com/sites/default/files/software/brainstem_sdk/${version}/brainstem_sdk_${version}_Ubuntu_LTS_22.04_x86_64.tgz";
hash = "sha256-S6u9goxTMCI12sffP/WKUF7bv0pLeNmNog7Hle+vpR4=";
# There's no "brainstem" parent directory in the archive.
stripRoot = false;
};
in
stdenv.mkDerivation {
pname = "brainstem";
inherit version src;
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
# libudev
(lib.getLib systemd)
# libstdc++.so libgcc_s.so
stdenv.cc.cc.lib
] ++ lib.optionals withUpdater [
# libcurl.so.4
curl
# libz.so.1
zlib
];
# Unpack the CLI tools, documentation, library and C headers.
# There's also a python .whl, containing more libraries, which might be used
# to support more architectures, too, but let's only do that if we need it.
installPhase = ''
mkdir -p $out/bin
install -m744 cli/AcronameHubCLI $out/bin
install -m744 cli/Updater $out/bin/AcronameHubUpdater
mkdir -p $out/lib/udev/rules.d
cp ${udevRule} $out/lib/udev/rules.d/60-brainstem.rules
mkdir -p $doc
cp docs/* $doc/
cp {license,version}.txt $doc/
mkdir -p $lib/lib
cp api/lib/libBrainStem2.* $lib/lib
mkdir -p $dev/include
cp -R api/lib/BrainStem2 $dev/include/
'';
outputs = [ "out" "lib" "dev" "doc" ];
meta = with lib; {
description = "BrainStem Software Development Kit";
longDescription = ''
The BrainStem SDK provides a library to access and control Acroname smart
USB switches, as well as a CLI interface, and a firmware updater.
'';
homepage = "https://acroname.com/software/brainstem-development-kit";
platforms = [ "x86_64-linux" ];
license = licenses.unfree;
maintainers = with maintainers; [ flokli ];
mainProgram = "AcronameHubCLI";
};
}