zeroc-ice: 2.7.3 -> 2.7.2.20

As reported in
https://github.com/NixOS/nixpkgs/pull/475929#issuecomment-4671420403,
2.7.3 is nowhere to be found / has been scrubbed upstream.

We're only still able to build this because the FOD is in
cache.nixos.org.

Meanwhile 2.7.2.20 has been tagged however, and it has the patches from
https://github.com/zeroc-ice/mcpp/pull/12 merged, so let's update our
derivation to that.

We still keep an empty `patches = []` around, as we still don't want to
use the patches from the non-forked mcpp.

(cherry picked from commit e49bc27926)
This commit is contained in:
Florian Klink 2026-06-11 21:53:23 +03:00 committed by github-actions[bot]
commit c6dcb4754c
3 changed files with 3 additions and 96 deletions

View file

@ -1,34 +0,0 @@
From faa694a7171a06f83034fd869adc4cffa2ae0c18 Mon Sep 17 00:00:00 2001
From: laurensmiers <laurensmiers@protonmail.com>
Date: Wed, 22 Oct 2025 14:50:23 +0200
Subject: [PATCH] fix: mb_init does not accept any parameter
Defined in mbchar.c:114 :
```c
void mb_init()
/*
* Initialize multi-byte character settings.
* First called prior to setting the 'mcpp_mode'.
* Will be called again each time the multibyte character encoding is changed.
*/
{
```
It does not expect any parameters.
---
mcpp_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mcpp_main.c b/mcpp_main.c
index 54a62b2..44265ad 100644
--- a/mcpp_main.c
+++ b/mcpp_main.c
@@ -302,7 +302,7 @@ int mcpp_lib_main
inc_dirp = &null; /* Initialize to current (null) directory */
cur_fname = cur_fullname = "(predefined)"; /* For predefined macros */
init_defines(); /* Predefine macros */
- mb_init(TRUE); /* Should be initialized prior to get options */
+ mb_init(); /* Should be initialized prior to get options */
do_options( argc, argv, &in_file, &out_file); /* Command line options */
/* Open input file, "-" means stdin. */

View file

@ -1,55 +0,0 @@
From bd5ddbde9e4ed24101cdc86007f26e95f38dd5b1 Mon Sep 17 00:00:00 2001
From: laurensmiers <laurensmiers@protonmail.com>
Date: Wed, 22 Oct 2025 14:52:30 +0200
Subject: [PATCH] fix: don't use reserved keyword for goto statement
Rename:
- 'true' to 'exit_success'
- 'false' to 'exit_fail'
Chose not to change the flow of the code by removing the goto's to
avoid regressions.
---
system.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/system.c b/system.c
index 646caf6..0a15aec 100644
--- a/system.c
+++ b/system.c
@@ -1738,7 +1738,7 @@ static int open_file(
if (! fullname) /* Non-existent or directory */
return FALSE;
if (included( fullname)) /* Once included */
- goto true;
+ goto exit_success;
if ((max_open != 0 && max_open <= include_nest)
/* Exceed the known limit of open files */
@@ -1765,12 +1765,12 @@ static int open_file(
if ((fp = mcpp_fopen( fullname, "r")) == NULL) {
file->fp = mcpp_fopen( cur_fullname, "r");
fseek( file->fp, file->pos, SEEK_SET);
- goto false;
+ goto exit_fail;
}
if (max_open == 0) /* Remember the limit of the system */
max_open = include_nest;
} else if (fp == NULL) /* No read permission */
- goto false;
+ goto exit_fail;
/* Truncate buffer of the includer to save memory */
len = (int) (file->bptr - file->buffer);
if (len) {
@@ -1802,9 +1802,9 @@ static int open_file(
if (mkdep && ((mkdep & MD_SYSHEADER) || ! infile->sys_header))
put_depend( fullname); /* Output dependency line */
-true:
+exit_success:
return TRUE;
-false:
+exit_fail:
free( fullname);
return FALSE;
}

View file

@ -16,21 +16,17 @@
let
mcpp' = mcpp.overrideAttrs (prevAttrs: rec {
pname = "mcpp-zeroc-ice";
version = "2.7.3";
version = "2.7.2.20";
src = fetchFromGitHub {
owner = "zeroc-ice";
repo = "mcpp";
rev = "v${version}";
hash = "sha256-hZGU5mqMRTTHV2bR9uzM6ALj1sypjPxO5Ajg8aKzLxc=";
hash = "sha256-FlzHpfYoHzbz5DfXgkr6Hf96xejRKd0Rr1TmzE5GyGg=";
};
# zeroc-ice's fork diverges quite a bit from upstream mcpp, so prevAttrs.patches is not used here
patches = [
# See https://github.com/zeroc-ice/mcpp/pull/12
./fix-mb_init.patch
./fix-reserved-keywords.patch
];
patches = [ ];
installFlags = prevAttrs.installFlags or [ ] ++ [ "PREFIX=$(out)" ];
});