Skip to content

Commit

Permalink
upgrade to libsodium 1.0.18-stable (July 25, 2021) (#680)
Browse files Browse the repository at this point in the history
update actions to use the new libsodium paths
drop support for python 3.5
  • Loading branch information
reaperhulk committed Aug 8, 2021
1 parent fa08774 commit 6fa3966
Show file tree
Hide file tree
Showing 166 changed files with 11,801 additions and 17,677 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,10 @@ jobs:
- {ARCH: 'x86', SODIUM_ARCH: 'Win32'}
- {ARCH: 'x64', SODIUM_ARCH: 'x64'}
PYTHON:
- {VERSION: "3.6", TOXENV: "py36", SODIUM_MSVC_VERSION: "v140"}
- {VERSION: "3.7", TOXENV: "py37", SODIUM_MSVC_VERSION: "v140"}
- {VERSION: "3.8", TOXENV: "py38", SODIUM_MSVC_VERSION: "v140"}
- {VERSION: "3.9", TOXENV: "py39", SODIUM_MSVC_VERSION: "v140"}
- {VERSION: "3.6", TOXENV: "py36", SODIUM_MSVC_VERSION: "v142"}
- {VERSION: "3.7", TOXENV: "py37", SODIUM_MSVC_VERSION: "v142"}
- {VERSION: "3.8", TOXENV: "py38", SODIUM_MSVC_VERSION: "v142"}
- {VERSION: "3.9", TOXENV: "py39", SODIUM_MSVC_VERSION: "v142"}
name: "Python ${{ matrix.PYTHON.VERSION }} on Windows ${{ matrix.WINDOWS.ARCH }}"
steps:
- uses: actions/checkout@master
Expand All @@ -106,7 +106,7 @@ jobs:
architecture: ${{ matrix.WINDOWS.ARCH }}
- name: 'Extract libsodium libraries'
run: |
Expand-Archive src/libsodium-1.0.18-msvc.zip -DestinationPath c:\
Expand-Archive src/libsodium-1.0.18-stable-msvc.zip -DestinationPath c:\
shell: powershell
- name: Install tox and coverage
run: pip install tox coverage
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/wheel-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ jobs:
- {ARCH: 'x86', SODIUM_ARCH: 'Win32', VS_ARCH: 'x86'}
- {ARCH: 'x64', SODIUM_ARCH: 'x64', VS_ARCH: 'amd64'}
PYTHON:
- {VERSION: "3.8", SODIUM_MSVC_VERSION: "v140", "USE_ABI3": "true", "ABI_VERSION": "cp36"}
- {VERSION: "3.9", SODIUM_MSVC_VERSION: "v142", "USE_ABI3": "true", "ABI_VERSION": "cp36"}
name: "${{ matrix.PYTHON.VERSION }} ${{ matrix.WINDOWS.ARCH }} ${{ matrix.PYTHON.ABI_VERSION }}"
steps:
- uses: actions/checkout@master
Expand All @@ -99,7 +99,7 @@ jobs:
architecture: ${{ matrix.WINDOWS.ARCH }}
- name: Extract libsodium libraries
run: |
Expand-Archive src/libsodium-1.0.18-msvc.zip -DestinationPath c:\
Expand-Archive src/libsodium-1.0.18-stable-msvc.zip -DestinationPath c:\
shell: powershell
- name: Add sodium to paths
run: |
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Changelog
------------------

* **BACKWARDS INCOMPATIBLE:** Removed support for Python 2.7 and Python 3.5.
* Update ``libsodium`` to 1.0.18-stable (July 25, 2021 release).

1.4.0 (2020-05-25)
------------------
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ PyNaCl: Python binding to the libsodium library

PyNaCl is a Python binding to `libsodium`_, which is a fork of the
`Networking and Cryptography library`_. These libraries have a stated goal of
improving usability, security and speed. It supports Python 3.5+ as well as
improving usability, security and speed. It supports Python 3.6+ as well as
PyPy 3.

.. _libsodium: https://github.com/jedisct1/libsodium
Expand Down
Binary file removed src/libsodium-1.0.18-msvc.zip
Binary file not shown.
Binary file added src/libsodium-1.0.18-stable-msvc.zip
Binary file not shown.
125 changes: 125 additions & 0 deletions src/libsodium/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: CI

on:
push:
branches: [master, stable, next]
pull_request:
branches: [master, stable, next]

workflow_dispatch:

jobs:
tcc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Update packages list
run: sudo apt-get update

- name: Install dependencies
run: sudo apt-get install -y build-essential libtool autoconf automake tcc

- name: Autogen
run: ./autogen.sh -s

- name: Compilation with tcc
run: |
env CC=tcc CFLAGS='-w' CPPFLAGS="-DDEV_MODE=1" ./configure --prefix=/tmp --disable-dependency-tracking --disable-shared || cat config.log
make -j $(nproc) && make check && make install
env CC=tcc CPPFLAGS='-I/tmp/include' LDFLAGS='-L/tmp/lib' LD_LIBRARY_PATH='/tmp/lib' ./test/constcheck.sh
make uninstall
make distclean
regular:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Update packages list
run: sudo apt-get update

- name: Install dependencies
run: sudo apt-get install -y build-essential libtool autoconf automake

- name: Autogen
run: ./autogen.sh -s

- name: C99 compat check
run: |
env CPPFLAGS="-DDEV_MODE=1" ./configure --disable-dependency-tracking
make -j $(nproc) CFLAGS='-g0' > /dev/null && cp src/libsodium/.libs/libsodium.so lib.so && make clean > /dev/null && make CFLAGS='-g0' CPPFLAGS='-DDEV_MODE=1 -DSODIUM_C99\(X\)=' > /dev/null && cp src/libsodium/.libs/libsodium.so lib-oldc.so && cmp lib.so lib-oldc.so && echo No binary changes && make clean > /dev/null
make distcheck
make distclean > /dev/null
- name: Regular compilation
run: |
env CPPFLAGS="-DDEV_MODE=1" ./configure --disable-dependency-tracking --enable-minimal
make -j $(nproc)
make check
( echo '#include <sodium.h>' ; echo 'int main(void) { return sodium_init(); }' ) > /tmp/main.c && gcc -DDEV_MODE=1 -Isrc/libsodium/include -Isrc/libsodium/include/sodium $(find src -name '*.c' -o -name '*.S') /tmp/main.c
make distclean > /dev/null
check-globals:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Update packages list
run: sudo apt-get update

- name: Install dependencies
run: sudo apt-get install -y build-essential libtool autoconf automake

- name: Autogen
run: ./autogen.sh -s

- name: Check globals
run: |
if [ -x test/rename-globals.sh ]; then test/rename-globals.sh; fi
other-comp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Update packages list
run: sudo apt-get update

- name: Install dependencies
run: sudo apt-get install -y build-essential libtool autoconf automake clang

- name: Autogen
run: ./autogen.sh -s

- name: Compilation with g++
run: |
env CC=g++ CPPFLAGS="-DDEV_MODE=1" ./configure --disable-dependency-tracking
make -j $(nproc) check
make clean > /dev/null
- name: Compilation with clang
run: |
env CC=clang CPPFLAGS="-DDEV_MODE=1" ./configure --disable-dependency-tracking
make -j $(nproc) check
make clean > /dev/null
other-arch:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Update packages list
run: sudo apt-get update

- name: Install dependencies
run: sudo apt-get install -y build-essential libtool autoconf automake qemu-user-static gcc-powerpc-linux-gnu

- name: Autogen
run: ./autogen.sh -s

- name: Big-Endian PowerPC compilation
run: |
env CPPFLAGS="-DDEV_MODE=1" ./configure --disable-dependency-tracking --host=powerpc-linux-gnu
make -j $(nproc)
make clean > /dev/null
31 changes: 31 additions & 0 deletions src/libsodium/.github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: "CodeQL scan"

on:
push:
pull_request:
schedule:
- cron: '0 17 * * 2'

jobs:
CodeQL-Build:

runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 2

- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: cpp

- run: |
./autogen.sh -s
env CPPFLAGS="-DDEV_MODE=1" ./configure --disable-dependency-tracking
make -j $(nproc) check
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

0 comments on commit 6fa3966

Please sign in to comment.