mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 14:54:29 +01:00
freefilesync: init at 11.25
This commit is contained in:
parent
a989aa4619
commit
60d578bfe7
2 changed files with 105 additions and 0 deletions
103
pkgs/applications/networking/freefilesync/default.nix
Normal file
103
pkgs/applications/networking/freefilesync/default.nix
Normal file
|
@ -0,0 +1,103 @@
|
|||
{ lib
|
||||
, gcc12Stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pkg-config
|
||||
, curl
|
||||
, glib
|
||||
, gtk3
|
||||
, libssh2
|
||||
, openssl
|
||||
, wxGTK32
|
||||
}:
|
||||
|
||||
gcc12Stdenv.mkDerivation rec {
|
||||
pname = "freefilesync";
|
||||
version = "11.25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hkneptune";
|
||||
repo = "FreeFileSync";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-JV9qwBiF9kl+wc9+7lUufQVu6uiMQ6vojntxduNJ8MI=";
|
||||
};
|
||||
|
||||
# Patches from ROSA Linux
|
||||
patches = [
|
||||
# Disable loading of the missing Animal.dat
|
||||
(fetchpatch {
|
||||
url = "https://abf.io/import/freefilesync/raw/rosa2021.1-11.25-1/ffs_devuan.patch";
|
||||
sha256 = "sha256-o8T/tBinlhM1I82yXxm0ogZcZf+uri95vTJrca5mcqs=";
|
||||
excludes = [ "FreeFileSync/Source/ffs_paths.cpp" ];
|
||||
postFetch = ''
|
||||
substituteInPlace $out --replace " for Rosa" ""
|
||||
'';
|
||||
})
|
||||
# Fix build with GTK 3
|
||||
(fetchpatch {
|
||||
url = "https://abf.io/import/freefilesync/raw/rosa2021.1-11.25-1/ffs_devuan_gtk3.patch";
|
||||
sha256 = "sha256-NXt/+BRTcMk8bnjR9Hipv1NzV9YqRJqy0e3RMInoWsA=";
|
||||
postFetch = ''
|
||||
substituteInPlace $out --replace "-isystem/usr/include/gtk-3.0" ""
|
||||
'';
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace FreeFileSync/Source/ui/version_check.cpp \
|
||||
--replace "openBrowserForDownload();" "openBrowserForDownload(parent);"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
curl
|
||||
glib
|
||||
gtk3
|
||||
libssh2
|
||||
openssl
|
||||
wxGTK32
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
# Undef g_object_ref on GLib 2.56+
|
||||
"-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_54"
|
||||
"-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_54"
|
||||
# Define libssh2 constants
|
||||
"-DMAX_SFTP_READ_SIZE=30000"
|
||||
"-DMAX_SFTP_OUTGOING_SIZE=30000"
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
chmod +w FreeFileSync/Build
|
||||
cd FreeFileSync/Source
|
||||
make -j$NIX_BUILD_CORES
|
||||
cd RealTimeSync
|
||||
make -j$NIX_BUILD_CORES
|
||||
cd ../../..
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
cp -R FreeFileSync/Build/* $out
|
||||
mv $out/{Bin,bin}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open Source File Synchronization & Backup Software";
|
||||
homepage = "https://freefilesync.org";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ wegank ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -27859,6 +27859,8 @@ with pkgs;
|
|||
|
||||
freebayes = callPackage ../applications/science/biology/freebayes { };
|
||||
|
||||
freefilesync = callPackage ../applications/networking/freefilesync { };
|
||||
|
||||
freewheeling = callPackage ../applications/audio/freewheeling { };
|
||||
|
||||
fritzing = libsForQt5.callPackage ../applications/science/electronics/fritzing { };
|
||||
|
|
Loading…
Reference in a new issue