bcompare: 4.4.7.28397 -> 5.2.0.31950 (#435513)

This commit is contained in:
Sandro
2026-05-04 14:57:47 +00:00
committed by GitHub
2 changed files with 146 additions and 21 deletions
+19 -21
View File
@@ -2,13 +2,9 @@
lib,
autoPatchelfHook,
bzip2,
cairo,
fetchurl,
gdk-pixbuf,
glibc,
pango,
gtk2,
libsForQt5,
kdePackages,
stdenv,
runtimeShell,
unzip,
@@ -16,19 +12,19 @@
let
pname = "bcompare";
version = "4.4.7.28397";
version = "5.2.0.31950";
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
srcs = {
x86_64-linux = fetchurl {
url = "https://www.scootersoftware.com/bcompare-${version}_amd64.deb";
sha256 = "sha256-4AWTSoYpVhGmBBxcwHXdg1CGd/04+8yL9pu+gHrsj6U";
url = "https://www.scootersoftware.com/files/bcompare-${version}_amd64.deb";
sha256 = "sha256-CCSRNGWIYVKAoQVVJ8McDUtc45nK0S4CdamcT5uVlQM=";
};
x86_64-darwin = fetchurl {
url = "https://www.scootersoftware.com/BCompareOSX-${version}.zip";
sha256 = "sha256-qbpM6hJbv+APo+ed45k3GXrl1HnZRxD1uT2lvaN3oM4=";
url = "https://www.scootersoftware.com/files/BCompareOSX-${version}.zip";
sha256 = "sha256-R+G2Zlr074i2W4GaEDweK0c0q8tnzjs6M0N106WVAlg=";
};
aarch64-darwin = srcs.x86_64-darwin;
@@ -54,35 +50,34 @@ let
cp -R usr/{bin,lib,share} $out/
# Remove library that refuses to be autoPatchelf'ed
# - bcompare_ext_kde.amd64.so is linked with Qt4
# - bcompare_ext_kde5.amd64.so is linked with Qt5
rm $out/lib/beyondcompare/ext/bcompare_ext_kde.amd64.so
rm $out/lib/beyondcompare/ext/bcompare_ext_kde5.amd64.so
substituteInPlace $out/bin/bcompare \
--replace "/usr/lib/beyondcompare" "$out/lib/beyondcompare" \
--replace "ldd" "${glibc.bin}/bin/ldd" \
--replace "/bin/bash" "${runtimeShell}"
# Create symlink bzip2 library
ln -s ${bzip2.out}/lib/libbz2.so.1 $out/lib/beyondcompare/libbz2.so.1.0
'';
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
(lib.getLib stdenv.cc.cc)
gtk2
pango
cairo
libsForQt5.kio
libsForQt5.kservice
libsForQt5.ki18n
libsForQt5.kcoreaddons
gdk-pixbuf
kdePackages.kio
kdePackages.kservice
kdePackages.ki18n
kdePackages.kcoreaddons
bzip2
];
dontBuild = true;
dontConfigure = true;
dontWrapQtApps = true;
__structuredAttrs = true;
strictDeps = true;
};
darwin = stdenv.mkDerivation {
@@ -98,6 +93,9 @@ let
mkdir -p $out/Applications/BCompare.app
cp -R . $out/Applications/BCompare.app
'';
__structuredAttrs = true;
strictDeps = true;
};
meta = {
+127
View File
@@ -0,0 +1,127 @@
{
lib,
autoPatchelfHook,
bzip2,
cairo,
fetchurl,
gdk-pixbuf,
glibc,
pango,
gtk2,
libsForQt5,
stdenv,
runtimeShell,
unzip,
}:
let
pname = "bcompare4";
version = "4.4.7.28397";
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
srcs = {
x86_64-linux = fetchurl {
url = "https://www.scootersoftware.com/bcompare-${version}_amd64.deb";
sha256 = "sha256-4AWTSoYpVhGmBBxcwHXdg1CGd/04+8yL9pu+gHrsj6U";
};
x86_64-darwin = fetchurl {
url = "https://www.scootersoftware.com/BCompareOSX-${version}.zip";
sha256 = "sha256-qbpM6hJbv+APo+ed45k3GXrl1HnZRxD1uT2lvaN3oM4=";
};
aarch64-darwin = srcs.x86_64-darwin;
};
src = srcs.${stdenv.hostPlatform.system} or throwSystem;
linux = stdenv.mkDerivation {
inherit
pname
version
src
meta
;
unpackPhase = ''
ar x $src
tar xfz data.tar.gz
'';
installPhase = ''
mkdir -p $out/{bin,lib,share}
cp -R usr/{bin,lib,share} $out/
# Remove library that refuses to be autoPatchelf'ed
rm $out/lib/beyondcompare/ext/bcompare_ext_kde.amd64.so
substituteInPlace $out/bin/bcompare \
--replace "/usr/lib/beyondcompare" "$out/lib/beyondcompare" \
--replace "ldd" "${glibc.bin}/bin/ldd" \
--replace "/bin/bash" "${runtimeShell}"
# Create symlink bzip2 library
ln -s ${bzip2.out}/lib/libbz2.so.1 $out/lib/beyondcompare/libbz2.so.1.0
'';
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
(lib.getLib stdenv.cc.cc)
gtk2
pango
cairo
libsForQt5.kio
libsForQt5.kservice
libsForQt5.ki18n
libsForQt5.kcoreaddons
gdk-pixbuf
bzip2
];
dontBuild = true;
dontConfigure = true;
dontWrapQtApps = true;
__structuredAttrs = true;
strictDeps = true;
};
darwin = stdenv.mkDerivation {
inherit
pname
version
src
meta
;
nativeBuildInputs = [ unzip ];
installPhase = ''
mkdir -p $out/Applications/BCompare.app
cp -R . $out/Applications/BCompare.app
'';
__structuredAttrs = true;
strictDeps = true;
};
meta = {
description = "GUI application that allows to quickly and easily compare files and folders";
longDescription = ''
Beyond Compare is focused. Beyond Compare allows you to quickly and easily compare your files and folders.
By using simple, powerful commands you can focus on the differences you're interested in and ignore those you're not.
You can then merge the changes, synchronize your files, and generate reports for your records.
'';
homepage = "https://www.scootersoftware.com";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [
ktor
arkivm
];
platforms = builtins.attrNames srcs;
mainProgram = "bcompare";
};
in
if stdenv.hostPlatform.isDarwin then darwin else linux