Skip to content

Commit

Permalink
Themis CocoaPods now support CLOpenSSL-XCF (#828)
Browse files Browse the repository at this point in the history
* Updated podspec to support OpenSSL-XCF

* versions update

* update changelog

* Cherry-pick: Updated Carthage examples to use XCF (#823)

* Fixing Carthage examples embed settings (#827)

* Revert "Fixing Carthage examples embed settings (#827)"

This reverts commit d9403c5.

* Revert "Cherry-pick: Updated Carthage examples to use XCF (#823)"

This reverts commit 6c14677.

* update changelog

* added deprecation notice to podspec and changelog

* update changelog
  • Loading branch information
julepka committed May 26, 2021
1 parent 043494d commit d869a4f
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 16 deletions.
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,25 @@

Changes that are currently in development and have not been released yet.

## [0.13.10](https://github.com/cossacklabs/themis/releases/tag/0.13.10), May 26th 2021

**Deprecation Notice for CocoaPods users:**
- `themis/themis-openssl` subspec based on GRKOpenSSLFramework is deprecated and will be removed in Themis version 0.14.
- `themis/themis-boringssl` subspec based on BoringSSL is deprecated and will be removed in Themis version 0.14.

Please, switch to the default option in your Podfile: `pod 'themis'`

**Hotfix for Apple platforms:**

- `themis` for CocoaPods now uses XCFrameworks, supports Apple Silicon, and OpenSSL 1.1.1k ([#828](https://github.com/cossacklabs/themis/pull/828)).
- Updated Carthage examples to use Themis XCFramework ([#823](https://github.com/cossacklabs/themis/pull/823)).

_Code:_

- **Objective-C / Swift**

- `themis` for CocoaPods now uses XCFrameworks, supports Apple Silicon, and OpenSSL 1.1.1k ([#828](https://github.com/cossacklabs/themis/pull/828)).

## [0.13.9](https://github.com/cossacklabs/themis/releases/tag/0.13.9), May 14th 2021

**Hotfix for Apple platforms:**
Expand Down
4 changes: 2 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ let package = Package(
targets: [
.binaryTarget(name: "themis",
// update version in URL path
url: "https://github.com/cossacklabs/themis/releases/download/0.13.9/themis.xcframework.zip",
url: "https://github.com/cossacklabs/themis/releases/download/0.13.10/themis.xcframework.zip",
// The scripts/create_xcframework.sh calculates the checksum when generating the XCF.
// Alternatively, run from package directory:
// swift package compute-checksum build/xcf_output/themis.xcframework.zip
checksum: "5e1e3bb83cf18465e3705dd333fd94510c5a8464680d43025331efa8c999df23"),
checksum: "2c77a19be873f306ed0fc997794d564f0ff32633c3596b81e8bb9d684ccfc049"),

]
)
8 changes: 4 additions & 4 deletions Themis.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1549,7 +1549,7 @@
buildSettings = {
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 9;
CURRENT_PROJECT_VERSION = 10;
DEFINES_MODULE = YES;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = "";
Expand Down Expand Up @@ -1578,7 +1578,7 @@
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MARKETING_VERSION = 0.13.9;
MARKETING_VERSION = 0.13.10;
PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis;
PRODUCT_MODULE_NAME = themis;
PRODUCT_NAME = themis;
Expand All @@ -1598,7 +1598,7 @@
buildSettings = {
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 9;
CURRENT_PROJECT_VERSION = 10;
DEFINES_MODULE = YES;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = "";
Expand Down Expand Up @@ -1627,7 +1627,7 @@
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MARKETING_VERSION = 0.13.9;
MARKETING_VERSION = 0.13.10;
PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis;
PRODUCT_MODULE_NAME = themis;
PRODUCT_NAME = themis;
Expand Down
24 changes: 14 additions & 10 deletions themis.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "themis"
s.version = "0.13.6"
s.version = "0.13.10"
s.summary = "Data security library for network communication and data storage for iOS and mac OS"
s.description = "Themis is a convenient cryptographic library for data protection. It provides secure messaging with forward secrecy and secure data storage. Themis is aimed at modern development practices and has a unified API across 12 platforms, including iOS/macOS, Ruby, JavaScript, Python, and Java/Android."
s.homepage = "https://cossacklabs.com"
Expand All @@ -23,8 +23,8 @@ Pod::Spec.new do |s|

# This variant uses the current stable, non-legacy version of OpenSSL.
s.subspec 'openssl-1.1.1' do |so|
# OpenSSL 1.1.1h
so.dependency 'CLOpenSSL', '1.1.10802'
# OpenSSL 1.1.1k
so.dependency 'CLOpenSSL-XCF', '1.1.11101'

# Enable bitcode for OpenSSL in a very specific way, but it works, thanks to @deszip
so.ios.pod_target_xcconfig = {
Expand All @@ -34,13 +34,6 @@ Pod::Spec.new do |s|
'BITCODE_GENERATION_MODE[config=Debug]' => 'bitcode-marker'
}

# As of version 1.1.10801, the framework produced by CLOpenSSL does not
# contain arm64 slice for iOS Simulator since it conflicts with arm64
# slice for the real iOS. Fixing this requires migration to XCFrameworks.
# See T1406 for current status of XCFrameworks.
so.ios.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
so.ios.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }

# We're building some C code here which uses includes as it pleases.
# Allow this behavior, but we will have to control header mappings.
so.ios.xcconfig = {
Expand Down Expand Up @@ -88,6 +81,11 @@ Pod::Spec.new do |s|
end
end

# ---------- WARNING! --------------------------------------------
# themis-boringssl is DEPRECATED and will be removed in version 0.14
# Switch to the default subspec in your Podfile: `pod 'themis'`
# ----------------------------------------------------------------

# use `themis/themis-openssl` as separate target to use Themis with OpenSSL
s.subspec 'themis-openssl' do |so|
# Enable bitcode for OpenSSL in a very specific way, but it works, thanks to @deszip
Expand All @@ -103,6 +101,7 @@ Pod::Spec.new do |s|
# arm64 slices for iOS Simulator and macOS, and thus do not support
# Apple Silicon. Disable building Themis for Apple Silicon until
# GRKOpenSSLFramework gets proper arm64 support.
# Update: 1.0.2.20.2 still with no arm64 simulator support
so.ios.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
so.ios.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
so.osx.pod_target_xcconfig = { 'EXCLUDED_ARCHS' => 'arm64' }
Expand Down Expand Up @@ -148,6 +147,11 @@ Pod::Spec.new do |s|
end


# ---------- WARNING! ----------------------------------------------
# themis-boringssl is DEPRECATED and will be removed in version 0.14
# Switch to the default subspec in your Podfile: `pod 'themis'`
# ------------------------------------------------------------------

# use `themis/themis-boringssl` as separate target to use Themis with BoringSSL
s.subspec 'themis-boringssl' do |so|

Expand Down

0 comments on commit d869a4f

Please sign in to comment.