Skip to content

Instantly share code, notes, and snippets.

@svin24
Created March 15, 2025 16:24
Show Gist options
  • Select an option

  • Save svin24/646f9290c4feb530157d9578854105d3 to your computer and use it in GitHub Desktop.

Select an option

Save svin24/646f9290c4feb530157d9578854105d3 to your computer and use it in GitHub Desktop.
Free Download Manager for Nix, dependencies missing,
{
lib,
stdenv,
fetchurl,
dpkg,
wrapGAppsHook,
autoPatchelfHook,
udev,
libdrm,
libpqxx,
unixODBC,
gst_all_1,
libpulseaudio,
xcbutilcursor,
xcbutilwm,
xcbutilimage,
xcbutilkeysyms,
xcbutilrenderutil,
# mysql-connector-c,
}:
stdenv.mkDerivation rec {
pname = "freedownloadmanager";
version = "6.26.0.6142";
autoPatchelfIgnoreMissingDeps = true;
src = fetchurl {
url = "https://files2.freedownloadmanager.org/6/latest/freedownloadmanager.deb";
hash = "sha256-IfkbOUY+W0jXL2a/E1BqswUxpGoR5Y/hrksXFEmi5pM=";
};
unpackPhase = "dpkg-deb -x $src .";
nativeBuildInputs = [
dpkg
wrapGAppsHook
autoPatchelfHook
];
buildInputs =
[
libdrm
libpqxx
unixODBC
stdenv.cc.cc
libpulseaudio
xcbutilcursor
xcbutilwm
xcbutilimage
xcbutilkeysyms
xcbutilrenderutil
# mysql-connector-c
]
++ (with gst_all_1; [
gstreamer
gst-libav
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
]);
runtimeDependencies = [
(lib.getLib udev)
];
installPhase = ''
mkdir -p $out/bin
cp -r opt/freedownloadmanager $out/
cp -r usr/share $out/
ln -s $out/freedownloadmanager/fdm $out/bin/${pname}
substituteInPlace $out/share/applications/freedownloadmanager.desktop \
--replace 'Exec=/opt/freedownloadmanager/fdm' 'Exec=${pname}' \
--replace "Icon=/opt/freedownloadmanager/icon.png" "Icon=$out/freedownloadmanager/icon.png"
'';
meta = with lib; {
description = "A smart and fast internet download manager";
homepage = "https://www.freedownloadmanager.org";
license = licenses.unfree;
platforms = ["x86_64-linux"];
sourceProvenance = with sourceTypes; [binaryNativeCode];
maintainers = with maintainers; [];
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment