nixpkgs/pkgs/tools/networking/uget/default.nix
Sergei Trofimovich e25aad2049 uget: pull upstream fix for -fno-common toolchains
Without the change build fails on upstream gcc-10 as:

    ld: uget_gtk-UgtkApp-main.o:/build/uget-2.2.3/ui-gtk/UgtkBanner.h:67: multiple definition of
      `banner'; uget_gtk-UgtkTraveler.o:/build/uget-2.2.3/ui-gtk/UgtkBanner.h:67: first defined here

As sourceforge does now allow easy way of extracting patches
I inlined the change as a string replacement.
2022-06-02 23:39:34 +01:00

58 lines
1.7 KiB
Nix

{ lib, stdenv, fetchurl, pkg-config, intltool, openssl, curl, libnotify,
libappindicator-gtk3, gst_all_1, gtk3, dconf, wrapGAppsHook, aria2 ? null
}:
stdenv.mkDerivation rec {
pname = "uget";
version = "2.2.3-1";
src = fetchurl {
url = "mirror://sourceforge/urlget/${pname}-${version}.tar.gz";
sha256 = "0jchvgkkphhwp2z7vd4axxr9ns8b6vqc22b2z8a906qm8916wd8i";
};
# Apply upstream fix for -fno-common toolchains.
postPatch = ''
# TODO: remove the replace once upstream fix is released:
# https://sourceforge.net/p/urlget/uget2/ci/14890943c52e0a5cd2a87d8a1c51cbffebee7cf9/
substituteInPlace ui-gtk/UgtkBanner.h --replace "} banner;" "};"
'';
nativeBuildInputs = [
pkg-config
intltool
wrapGAppsHook
];
buildInputs = [
openssl
curl
libnotify
libappindicator-gtk3
gtk3
(lib.getLib dconf)
]
++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ])
++ (lib.optional (aria2 != null) aria2);
enableParallelBuilding = true;
preFixup = lib.optionalString (aria2 != null)
''gappsWrapperArgs+=(--suffix PATH : "${aria2}/bin")'';
meta = with lib; {
description = "Download manager using GTK and libcurl";
longDescription = ''
uGet is a VERY Powerful download manager application with a large
inventory of features but is still very light-weight and low on
resources, so don't let the impressive list of features scare you into
thinking that it "might be too powerful" because remember power is good
and lightweight power is uGet!
'';
homepage = "http://www.ugetdm.com";
license = licenses.lgpl21;
platforms = platforms.unix;
maintainers = with maintainers; [ romildo ];
};
}