From ecb5cd972ff1cb5a40cb15c6d177fa81e9003713 Mon Sep 17 00:00:00 2001 From: Michael Ashton Date: Thu, 17 Jun 2021 23:36:09 -0700 Subject: [PATCH] unison: patch 2.51.3 Add patch which fixes builds with (at least) ocaml 4.12.0, and remove build constraint for 4.09. Necessary because unison built with 4.09 is not compatible with unison built with 4.12, e.g. on recent Homebrew. --- pkgs/applications/networking/sync/unison/default.nix | 12 +++++++++++- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix index 23bbd19b00e8..9ab8d4415082 100644 --- a/pkgs/applications/networking/sync/unison/default.nix +++ b/pkgs/applications/networking/sync/unison/default.nix @@ -1,4 +1,4 @@ -{lib, stdenv, fetchFromGitHub, ocamlPackages, fontschumachermisc, xset, makeWrapper, ncurses, gnugrep +{lib, stdenv, fetchFromGitHub, ocamlPackages, fontschumachermisc, xset, makeWrapper, ncurses, gnugrep, fetchpatch , enableX11 ? true}: let inherit (ocamlPackages) ocaml lablgtk; in @@ -17,6 +17,16 @@ stdenv.mkDerivation (rec { nativeBuildInputs = [ makeWrapper ]; buildInputs = [ ocaml ncurses ]; + patches = [ + # Patch to fix build with ocaml 4.12. Remove in 2.51.4 + # https://github.com/bcpierce00/unison/pull/481 + (fetchpatch { + name = "fix-compile-with-ocaml-4.12.patch"; + url = "https://github.com/bcpierce00/unison/commit/14b885316e0a4b41cb80fe3daef7950f88be5c8f.patch?full_index=1"; + sha256 = "0j1rma1cwdsfql19zvzhfj2ys5c4lbhjcp6jrnck04xnckxxiy3d"; + }) + ]; + preBuild = (if enableX11 then '' sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" src/Makefile.OCaml '' else "") + '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ac00bf25c36f..1e3d3178ea0b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27313,7 +27313,6 @@ in unipicker = callPackage ../applications/misc/unipicker { }; unison = callPackage ../applications/networking/sync/unison { - ocamlPackages = ocaml-ng.ocamlPackages_4_09; enableX11 = config.unison.enableX11 or true; };