Skip to content

Commit

Permalink
build: Require a C++14 compiler and switch to manylinux 2010
Browse files Browse the repository at this point in the history
  • Loading branch information
jan-auer committed Apr 5, 2020
1 parent d781006 commit ac63e8c
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 335 deletions.
4 changes: 2 additions & 2 deletions .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ targets:
changelogPolicy: simple
requireNames:
- /^symbolic-.*-py2.py3-none-macosx_10_13_x86_64.whl$/
- /^symbolic-.*-py2.py3-none-manylinux1_i686.whl$/
- /^symbolic-.*-py2.py3-none-manylinux1_x86_64.whl$/
- /^symbolic-.*-py2.py3-none-manylinux2010_i686.whl$/
- /^symbolic-.*-py2.py3-none-manylinux2010_x86_64.whl$/
- /^symbolic-.*.zip$/
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,12 @@ jobs:
env: DEPLOY=mac-wheel
osx_image: xcode9.4
- if: branch ~= /^release\/.+$/
script: make wheel-manylinux IMAGE=quay.io/pypa/manylinux1_x86_64
script: make wheel-manylinux IMAGE=quay.io/pypa/manylinux2010_x86_64
env: DEPLOY=linux-x86_64-wheel
services:
- docker
- if: branch ~= /^release\/.+$/
script: make wheel-manylinux IMAGE=quay.io/pypa/manylinux1_i686
script: make wheel-manylinux IMAGE=quay.io/pypa/manylinux2010_i686
env: DEPLOY=linux-x86-wheel
services:
- docker
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ the features:
information. Currently, this comprises MachO and ELF (with DWARF debugging), PE and PDB, as well
as Breakpad symbols.
- **`demangle`**: Demangling for Rust, C++, Swift and Objective C symbols. This feature requires a
C++11 compiler on the PATH.
C++14 compiler on the PATH.
- **`minidump`**: Rust bindings for the Breakpad Minidump processor. Additionally, this includes
facilities to extract stack unwinding information (sometimes called CFI) from object files. This
feature requires a C++11 compiler on the PATH.
Expand Down
2 changes: 1 addition & 1 deletion demangle/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ fn main() {
"vendor/swift/lib/Demangling/Punycode.cpp",
// "vendor/swift/lib/Demangling/Remangler.cpp",
])
.flag_if_supported("-std=c++11")
.flag_if_supported("-std=c++14")
.flag("-DLLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING=1")
.warnings(false)
.include("vendor/swift/include")
Expand Down
320 changes: 0 additions & 320 deletions demangle/vendor/swift/2-cpp11.patch

This file was deleted.

16 changes: 7 additions & 9 deletions demangle/vendor/swift/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,8 @@ The current version is **Swift 5.0.1**.

## Sentry Modifications

The library has been modified by patches in this order:

1. `1-arguments.patch`: Adds an option to hide function arguments.
2. `2-cpp11.patch`: Creates compatibility with C++11 compilers.
The library has been modified to add an option to hide function arguments during demangling. This
patch is maintained in `1-arguments.patch`.

## How to Update

Expand Down Expand Up @@ -43,17 +41,17 @@ The library has been modified by patches in this order:
```
2. Check for modifications.
3. Commit _"feat(demangle): Import libswift demangle x.x.x"_ before proceeding.
3. **Apply the patches incrementally:**
1. Apply the [`1-arguments.patch`] and compile with a C++14 compiler, then commit.
2. Apply the [`2-cpp11.patch`] and fix all merge issues.
3. Compile with a **C++11** compiler and iterate until it compiles, then commit.
3. **Apply the patch:**
1. Apply the [`1-arguments.patch`].
2. Build the library and ensure tests work.
3. Commit the changes.
4. **Add tests for new mangling schemes:**
1. Identify new mangling schemes. Skip if there are no known changes.
2. Add test cases to [`tests/swift.rs`]
5. **Update Repository metadata**:
1. Bump the Swift version number in this README.
2. Check for changes in the license and update the files.
3. Update the patch files with the commits generated in step 3:
3. Update the patch file with the commit generated in step 3:
```
$ git show <commit> > 1-arguments.patch
```
Expand Down

0 comments on commit ac63e8c

Please sign in to comment.