chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / pl / plasticity / package.nix
blobfb477ce07f2a980bc6b364475677216af442f90a
1 { alsa-lib
2 , at-spi2-atk
3 , autoPatchelfHook
4 , cairo
5 , cups
6 , dbus
7 , desktop-file-utils
8 , expat
9 , fetchurl
10 , gdk-pixbuf
11 , gtk3
12 , gvfs
13 , hicolor-icon-theme
14 , lib
15 , libdrm
16 , libglvnd
17 , libnotify
18 , libsForQt5
19 , libxkbcommon
20 , mesa
21 , nspr
22 , nss
23 , openssl
24 , pango
25 , rpmextract
26 , stdenv
27 , systemd
28 , trash-cli
29 , vulkan-loader
30 , wrapGAppsHook3
31 , xdg-utils
32 , xorg
34 stdenv.mkDerivation rec  {
35   pname = "plasticity";
36   version = "24.2.4";
38   src = fetchurl {
39     url = "https://github.com/nkallen/plasticity/releases/download/v${version}/Plasticity-${version}-1.x86_64.rpm";
40     hash = "sha256-Pwe1CqprRXqTN93ys247TGrkd0LGKuwrfGmupIN40uU=";
41   };
43   passthru.updateScript = ./update.sh;
45   nativeBuildInputs = [ wrapGAppsHook3 autoPatchelfHook rpmextract mesa ];
47   buildInputs = [
48     alsa-lib
49     at-spi2-atk
50     cairo
51     cups
52     dbus
53     desktop-file-utils
54     expat
55     gdk-pixbuf
56     gtk3
57     gvfs
58     hicolor-icon-theme
59     libdrm
60     libnotify
61     libsForQt5.kde-cli-tools
62     libxkbcommon
63     nspr
64     nss
65     openssl
66     pango
67     stdenv.cc.cc.lib
68     trash-cli
69     xdg-utils
70   ];
72   runtimeDependencies = [
73     systemd
74     libglvnd
75     vulkan-loader #may help with nvidia users
76     xorg.libX11
77     xorg.libxcb
78     xorg.libXcomposite
79     xorg.libXdamage
80     xorg.libXext
81     xorg.libXfixes
82     xorg.libXrandr
83     xorg.libXtst
84   ];
86   dontUnpack = true;
88   # can't find anything on the internet about these files, no clue what they do
89   autoPatchelfIgnoreMissingDeps = [
90     "ACCAMERA.tx"
91     "AcMPolygonObj15.tx"
92     "ATEXT.tx"
93     "ISM.tx"
94     "RText.tx"
95     "SCENEOE.tx"
96     "TD_DbEntities.tx"
97     "TD_DbIO.tx"
98     "WipeOut.tx"
99    ];
101 installPhase = ''
102   runHook preInstall
104   mkdir $out
105   cd $out
106   rpmextract $src
107   mv $out/usr/* $out
108   rm -r $out/usr
110   runHook postInstall
113   #--use-gl=egl for it to use hardware rendering it seems. Otherwise there are terrible framerates
114   postInstall = ''
115     substituteInPlace share/applications/Plasticity.desktop \
116       --replace-fail 'Exec=Plasticity %U' "Exec=Plasticity --use-gl=egl %U"
117   '';
119   meta = with lib; {
120     description = "CAD for artists";
121     homepage = "https://www.plasticity.xyz";
122     license = licenses.unfree;
123     mainProgram = "Plasticity";
124     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
125     maintainers = with maintainers; [ imadnyc ];
126     platforms = [ "x86_64-linux" ];
127   };