From c565d77c0c78191ce8158266869ce30e7ca42a0a Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 15 Jun 2026 18:42:43 +0200 Subject: [PATCH] cdparanoia: fix build for FreeBSD --- pkgs/by-name/cd/cdparanoia-iii/freebsd.patch | 45 ++++++++++++++++++++ pkgs/by-name/cd/cdparanoia-iii/package.nix | 1 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/by-name/cd/cdparanoia-iii/freebsd.patch diff --git a/pkgs/by-name/cd/cdparanoia-iii/freebsd.patch b/pkgs/by-name/cd/cdparanoia-iii/freebsd.patch new file mode 100644 index 000000000000..a66482a91e5a --- /dev/null +++ b/pkgs/by-name/cd/cdparanoia-iii/freebsd.patch @@ -0,0 +1,45 @@ +From 368ea1fcdf4e8f9a5de4e7ade590242292ccb8fa Mon Sep 17 00:00:00 2001 +From: Alyssa Ross +Date: Mon, 15 Jun 2026 18:40:07 +0200 +Subject: [PATCH] Fix designated initializers in memcpy arguments + +On FreeBSD, memcpy is a macro, and the lack of parentheses causes a +compilation failure. +--- + interface/scsi_interface.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/interface/scsi_interface.c b/interface/scsi_interface.c +index adbb9bf..7805559 100644 +--- a/interface/scsi_interface.c ++++ b/interface/scsi_interface.c +@@ -674,7 +674,7 @@ static int scsi_read_toc (cdrom_drive *d){ + } + + for (i = first; i <= last; i++){ +- memcpy(cmd, (char []){ 0x43, 0, 0, 0, 0, 0, 0, 0, 12, 0}, 10); ++ memcpy(cmd, ((char []){ 0x43, 0, 0, 0, 0, 0, 0, 0, 12, 0}), 10); + cmd[1]=d->lun<<5; + cmd[6]=i; + +@@ -695,7 +695,7 @@ static int scsi_read_toc (cdrom_drive *d){ + } + } + +- memcpy(cmd, (char []){ 0x43, 0, 0, 0, 0, 0, 0, 0, 12, 0}, 10); ++ memcpy(cmd, ((char []){ 0x43, 0, 0, 0, 0, 0, 0, 0, 12, 0}), 10); + cmd[1]=d->lun<<5; + cmd[6]=0xAA; + +@@ -745,7 +745,7 @@ static int scsi_read_toc2 (cdrom_drive *d){ + } + + for (i = 0; i < tracks; i++){ +- memcpy(cmd, (char[]){ 0xe5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 10); ++ memcpy(cmd, ((char[]){ 0xe5, 0, 0, 0, 0, 0, 0, 0, 0, 0}), 10); + cmd[5]=i+1; + cmd[8]=255; + +-- +2.54.0 + diff --git a/pkgs/by-name/cd/cdparanoia-iii/package.nix b/pkgs/by-name/cd/cdparanoia-iii/package.nix index 813adc115078..de38e46763c3 100644 --- a/pkgs/by-name/cd/cdparanoia-iii/package.nix +++ b/pkgs/by-name/cd/cdparanoia-iii/package.nix @@ -62,6 +62,7 @@ stdenv.mkDerivation (finalAttrs: { url = "https://salsa.debian.org/optical-media-team/cdparanoia/-/raw/f7bab3024c5576da1fdb7497abbd6abc8959a98c/debian/patches/04-endian.patch"; hash = "sha256-krfprwls0L3hsNfoj2j69J5k1RTKEQtzE0fLYG9EJKo="; }) + ./freebsd.patch ] ++ lib.optional stdenv.hostPlatform.isMusl ./utils.patch ++ lib.optional (!stdenv.hostPlatform.isDarwin) [