diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 0955354fa910..dfe49de5e371 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -13677,6 +13677,12 @@ githubId = 118959; name = "VinyMeuh"; }; + virchau13 = { + email = "virchau13@hexular.net"; + github = "virchau13"; + githubId = 16955157; + name = "Vir Chaudhury"; + }; viraptor = { email = "nix@viraptor.info"; github = "viraptor"; diff --git a/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix b/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix new file mode 100644 index 000000000000..32804afa9ff2 --- /dev/null +++ b/pkgs/os-specific/linux/xp-pen-drivers/deco-01-v2/default.nix @@ -0,0 +1,81 @@ +{ lib +, stdenv +, fetchzip +, libusb1 +, glibc +, libGL +, xorg +, qtx11extras +, wrapQtAppsHook +, autoPatchelfHook +, libX11 +, libXtst +, libXi +, libXrandr +, libXinerama +}: + +let + dataDir = "var/lib/xppend1v2"; +in +stdenv.mkDerivation rec { + pname = "xp-pen-deco-01-v2-driver"; + version = "3.2.3.220323-1"; + + src = fetchzip { + url = "https://www.xp-pen.com/download/file/id/1936/pid/440/ext/gz.html#.tar.gz"; + name = "xp-pen-deco-01-v2-driver-${version}.tar.gz"; + sha256 = "sha256-n/yutkRsjcIRRhB4q1yqEmaa03/1SO8RigJi/ZkfLbk="; + }; + + nativeBuildInputs = [ + wrapQtAppsHook + autoPatchelfHook + ]; + + dontBuild = true; + + dontWrapQtApps = true; # this is done manually + + buildInputs = [ + libusb1 + libX11 + libXtst + libXi + libXrandr + libXinerama + glibc + libGL + stdenv.cc.cc.lib + qtx11extras + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{opt,bin} + cp -r App/usr/lib/pentablet/{pentablet,resource.rcc,conf} $out/opt + chmod +x $out/opt/pentablet + cp -r App/lib $out/lib + sed -i 's#usr/lib/pentablet#${dataDir}#g' $out/opt/pentablet + + runHook postInstall + ''; + + postFixup = '' + makeWrapper $out/opt/pentablet $out/bin/xp-pen-deco-01-v2-driver \ + "''${qtWrapperArgs[@]}" \ + --run 'if [ "$EUID" -ne 0 ]; then echo "Please run as root."; exit 1; fi' \ + --run 'if [ ! -d /${dataDir} ]; then mkdir -p /${dataDir}; cp -r '$out'/opt/conf /${dataDir}; chmod u+w -R /${dataDir}; fi' + ''; + + meta = with lib; { + homepage = "https://www.xp-pen.com/product/461.html"; + description = "Drivers for the XP-PEN Deco 01 v2 drawing tablet"; + platforms = [ "x86_64-linux" ]; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + maintainers = with maintainers; [ virchau13 ]; + license = licenses.unfree; + }; +} + diff --git a/pkgs/misc/drivers/pentablet-driver/default.nix b/pkgs/os-specific/linux/xp-pen-drivers/g430/default.nix similarity index 96% rename from pkgs/misc/drivers/pentablet-driver/default.nix rename to pkgs/os-specific/linux/xp-pen-drivers/g430/default.nix index a06ae85fb3b3..ad983662109a 100644 --- a/pkgs/misc/drivers/pentablet-driver/default.nix +++ b/pkgs/os-specific/linux/xp-pen-drivers/g430/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, mkDerivation, fetchzip, autoPatchelfHook, libusb1, libX11, libXtst, qtbase, libglvnd }: mkDerivation rec { - pname = "pentablet-driver"; + pname = "xp-pen-g430-driver"; version = "1.2.13.1"; src = fetchzip { diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 3ea7c71457a6..2866d8251e11 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1031,6 +1031,7 @@ mapAliases ({ pdf2htmlEx = throw "pdf2htmlEx has been removed from nixpkgs, as it was unmaintained"; # Added 2020-11-03 pdfmod = throw "pdfmod has been removed"; # Added 2022-01-15 pdfread = throw "pdfread has been remove because it is unmaintained for years and the sources are no longer available"; # Added 2021-07-22 + pentablet-driver = xp-pen-g430-driver; # Added 2022-06-23 perlXMLParser = throw "'perlXMLParser' has been renamed to/replaced by 'perlPackages.XMLParser'"; # Converted to throw 2022-02-22 perlArchiveCpio = throw "'perlArchiveCpio' has been renamed to/replaced by 'perlPackages.ArchiveCpio'"; # Converted to throw 2022-02-22 pgadmin = pgadmin4; @@ -1523,7 +1524,7 @@ mapAliases ({ xmonad_log_applet_gnome3 = throw "'xmonad_log_applet_gnome3' has been renamed to/replaced by 'xmonad_log_applet'"; # Converted to throw 2022-02-22 xmpp-client = throw "xmpp-client has been dropped due to the lack of maintanence from upstream since 2017"; # Added 2022-06-02 xmpppy = throw "xmpppy has been removed from nixpkgs as it is unmaintained and python2-only"; - xp-pen-g430 = pentablet-driver; # Added 2020-05-03 + xp-pen-g430 = throw "xp-pen-g430 has been renamed to xp-pen-g430-driver"; # Converted to throw 2022-06-23 xpf = throw "xpf has been removed: abandoned by upstream"; # Added 2022-04-26 xf86_video_nouveau = throw "'xf86_video_nouveau' has been renamed to/replaced by 'xorg.xf86videonouveau'"; # Converted to throw 2022-02-22 xf86_input_mtrack = throw '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9ff8d0d543c9..6ac6af8eda63 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -36268,7 +36268,9 @@ with pkgs; bcompare = libsForQt5.callPackage ../applications/version-management/bcompare {}; - pentablet-driver = libsForQt5.callPackage ../misc/drivers/pentablet-driver { }; + xp-pen-deco-01-v2-driver = libsForQt5.xp-pen-deco-01-v2-driver; + + xp-pen-g430-driver = libsForQt5.xp-pen-g430-driver; new-session-manager = callPackage ../applications/audio/new-session-manager { }; diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix index d4c155d714ff..c4bd055f5738 100644 --- a/pkgs/top-level/qt5-packages.nix +++ b/pkgs/top-level/qt5-packages.nix @@ -235,5 +235,9 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea soundkonverter = callPackage ../applications/audio/soundkonverter {}; + xp-pen-deco-01-v2-driver = callPackage ../os-specific/linux/xp-pen-drivers/deco-01-v2 { }; + + xp-pen-g430-driver = callPackage ../os-specific/linux/xp-pen-drivers/g430 { }; + yuview = callPackage ../applications/video/yuview { }; })))