From acfd132f56e1c436276af13682a934d9364e3323 Mon Sep 17 00:00:00 2001 From: Skyler Aley Date: Sun, 26 Apr 2026 22:40:02 -0700 Subject: [PATCH] Rename CZlib system module to FTZlib The system library module was previously named CZlib, the same name ZIPFoundation uses for its zlib wrapper. When both packages are pulled into the same SwiftPM resolution graph, the Linux toolchain rejects the duplicate module declaration and aborts the build: error: redefinition of module 'CZlib' macOS's linker tolerates the collision, but Linux does not. Renaming to FTZlib namespaces the module so it cannot collide with other packages that wrap zlib. --- Package.swift | 4 ++-- Sources/{CZlib => FTZlib}/module.modulemap | 2 +- Sources/{CZlib => FTZlib}/shim.h | 0 Sources/FileType/zip+office.swift | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) rename Sources/{CZlib => FTZlib}/module.modulemap (65%) rename Sources/{CZlib => FTZlib}/shim.h (100%) diff --git a/Package.swift b/Package.swift index 022d1b9..15593cc 100644 --- a/Package.swift +++ b/Package.swift @@ -18,7 +18,7 @@ let package = Package( ], targets: [ .systemLibrary( - name: "CZlib", + name: "FTZlib", providers: [ .apt(["zlib1g-dev"]), .brew(["zlib"]), @@ -26,7 +26,7 @@ let package = Package( ), .target( name: "FileType", - dependencies: ["CZlib"] + dependencies: ["FTZlib"] ), .testTarget( name: "FileTypeTests", diff --git a/Sources/CZlib/module.modulemap b/Sources/FTZlib/module.modulemap similarity index 65% rename from Sources/CZlib/module.modulemap rename to Sources/FTZlib/module.modulemap index 4089437..2dc09eb 100644 --- a/Sources/CZlib/module.modulemap +++ b/Sources/FTZlib/module.modulemap @@ -1,4 +1,4 @@ -module CZlib [system] { +module FTZlib [system] { header "shim.h" link "z" export * diff --git a/Sources/CZlib/shim.h b/Sources/FTZlib/shim.h similarity index 100% rename from Sources/CZlib/shim.h rename to Sources/FTZlib/shim.h diff --git a/Sources/FileType/zip+office.swift b/Sources/FileType/zip+office.swift index 1cee15f..83017da 100644 --- a/Sources/FileType/zip+office.swift +++ b/Sources/FileType/zip+office.swift @@ -1,4 +1,4 @@ -import CZlib +import FTZlib import Foundation struct ZipHeader {