Swiftpack.co -  Jawtoch/Clibfbclient as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
Jawtoch/Clibfbclient
Swift modulemap for Firebird
.package(url: "https://github.com/Jawtoch/Clibfbclient.git", from: "0.1.0")

Clibfbclient

Provide modulemap to use fbclient library on linux and macOS. The Firebird library is not provided, you have to install it yourself.

Linux

Download the library from the Firebird website and install it on your system.

macOS

Download the library from the Firebird website as .pkg installer. After install, make sure that you have an alias to fbclient.dylib on the /usr/local/lib folder, and alias to ibase.h and iberror.h on your include directory.

Link on macOS

Using linkerSettings

let package = Package(
	name: "YourLibrary",
	...
	targets: [
		.target(name: "your-target", linkerSettings: [.unsafeFlags(["-L/usr/local/lib"])])
	]
)

The drawback of this is that SwiftPM disable compilation for package dependencies from git that contains unsafe flags.

Using pkg-config

Profide the following configuration to /usr/local/lib/pkgconfig/libfbclient.pc:

prefix=/usr/local
include_dir=${prefix}/include
lib_dir=${prefix}/lib

Name: libfbclient
Description: none
Version: 0.1.0
Cflags: -I${include_dir}
Libs: -L${lib_dir}

Validate the installation

To ensure that the library if working, execute the tests!

$ swift test

Usage

In Package.swift, add the following depedencie

# package.swift
.package(url: "https://github.com/Jawtoch/Clibfbclient.git", from: "0.0.0")

In your swift files, import the Firebird system library

import fbclient

GitHub

link
Stars: 0
Last commit: 6 weeks ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API