diff --git a/pkgs/applications/office/zotero/zotero_7.nix b/pkgs/by-name/zo/zotero-beta/package.nix similarity index 50% rename from pkgs/applications/office/zotero/zotero_7.nix rename to pkgs/by-name/zo/zotero-beta/package.nix index ae8cc9e9fa6f..2aca01589119 100644 --- a/pkgs/applications/office/zotero/zotero_7.nix +++ b/pkgs/by-name/zo/zotero-beta/package.nix @@ -2,104 +2,60 @@ , stdenv , fetchurl , wrapGAppsHook3 -, autoPatchelfHook , makeDesktopItem +, alsa-lib , atk , cairo -, coreutils -, curl -, cups , dbus-glib -, dbus -, dconf -, fontconfig -, freetype , gdk-pixbuf , glib -, glibc , gtk3 -, libX11 -, libXScrnSaver -, libxcb -, libXcomposite -, libXcursor -, libXdamage -, libXext -, libXfixes -, libXi -, libXinerama -, libXrender -, libXt -, libnotify -, gnome -, libGLU , libGL -, nspr -, nss +, xorg +, mesa , pango -, gsettings-desktop-schemas -, alsa-lib -, libXtst +, pciutils }: stdenv.mkDerivation rec { pname = "zotero"; - version = "7.0.0-beta"; + version = "7.0.0-beta.83+066eda731"; - src = fetchurl { - url = "https://download.zotero.org/client/beta/${version}.65%2Bb047f3d90/Zotero-${version}.65%2Bb047f3d90_linux-x86_64.tar.bz2"; - hash = "sha256-e7T/hvb8bFb4hkouihBkgqUu4ugYoUMHNVKxh0r/WUM="; - }; + src = + let + escapedVersion = lib.replaceStrings ["+"] ["%2B"] version; + in + fetchurl { + url = "https://download.zotero.org/client/beta/${escapedVersion}/Zotero-${escapedVersion}_linux-x86_64.tar.bz2"; + hash = "sha256-wqew12/Icv4XS+IJRVcf1Rh/ipqBhe8QGkP8ErfS4J0="; + }; - nativeBuildInputs = [ - wrapGAppsHook3 - autoPatchelfHook - ]; - buildInputs = [ - gsettings-desktop-schemas - glib - gtk3 - gnome.adwaita-icon-theme - dconf - libXtst + dontPatchELF = true; + nativeBuildInputs = [ wrapGAppsHook3 ]; + + libPath = lib.makeLibraryPath [ alsa-lib - stdenv.cc.cc atk cairo - curl - cups dbus-glib - dbus - fontconfig - freetype gdk-pixbuf glib - glibc gtk3 - libX11 - libXScrnSaver - libXcomposite - libXcursor - libxcb - libXdamage - libXext - libXfixes - libXi - libXinerama - libXrender - libXt - libnotify - libGLU libGL - nspr - nss + xorg.libX11 + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrandr + xorg.libXtst + xorg.libxcb + mesa pango - ]; - - dontConfigure = true; - dontBuild = true; - dontStrip = true; - + pciutils + ] + ":" + lib.makeSearchPathOutput "lib" "lib64" [ stdenv.cc.cc ]; desktopItem = makeDesktopItem { name = "zotero"; @@ -113,32 +69,41 @@ stdenv.mkDerivation rec { mimeTypes = [ "x-scheme-handler/zotero" "text/plain" ]; }; - installPhase = '' runHook preInstall + # Copy package contents to the output directory mkdir -p "$prefix/usr/lib/zotero-bin-${version}" cp -r * "$prefix/usr/lib/zotero-bin-${version}" mkdir -p "$out/bin" ln -s "$prefix/usr/lib/zotero-bin-${version}/zotero" "$out/bin/" - # install desktop file and icons. + # Install desktop file and icons mkdir -p $out/share/applications cp ${desktopItem}/share/applications/* $out/share/applications/ for size in 32 64 128; do - install -Dm444 icons/icon$size.png \ + install -Dm444 icons/icon''${size}.png \ $out/share/icons/hicolor/''${size}x''${size}/apps/zotero.png done install -Dm444 icons/symbolic.svg \ - $out/share/icons/hicolor/symbolic/apps/zotero-symbolic.svg + $out/share/icons/hicolor/symbolic/apps/zotero-symbolic.svg runHook postInstall ''; - preFixup = '' - gappsWrapperArgs+=( - --prefix PATH : ${lib.makeBinPath [ coreutils ]} - ) + postFixup = '' + for executable in \ + zotero-bin plugin-container updater vaapitest \ + minidump-analyzer glxtest + do + if [ -e "$out/usr/lib/zotero-bin-${version}/$executable" ]; then + patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + "$out/usr/lib/zotero-bin-${version}/$executable" + fi + done + find . -executable -type f -exec \ + patchelf --set-rpath "$libPath" \ + "$out/usr/lib/zotero-bin-${version}/{}" \; ''; meta = with lib; { @@ -148,6 +113,6 @@ stdenv.mkDerivation rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.agpl3Only; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ atila ]; + maintainers = with maintainers; [ atila justanotherariel ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ce162c99e57e..386aa7d25228 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -35935,7 +35935,7 @@ with pkgs; zotero = callPackage ../applications/office/zotero { }; - zotero_7 = callPackage ../applications/office/zotero/zotero_7.nix { }; + zotero_7 = pkgs.zotero-beta; zscroll = callPackage ../applications/misc/zscroll { };