Skip to content

Commit 3ba5794

Browse files
committed
v0.1 release
update AUTHORS
1 parent c972c6f commit 3ba5794

File tree

5 files changed

+128
-5
lines changed

5 files changed

+128
-5
lines changed

.github/workflows/release.yml

+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Release
2+
3+
permissions:
4+
contents: write
5+
6+
on:
7+
push:
8+
tags:
9+
- '*.*'
10+
11+
jobs:
12+
ghrelease:
13+
name: Publish sources on GitHub Release
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v3
18+
- name: Configure
19+
run: |
20+
./bootstrap && ./configure
21+
sudo apt install bzip3 -y
22+
- name: Build source packages
23+
run: |
24+
make dist-gzip
25+
make dist-zip
26+
gzip -dk xpar-${{ github.ref_name }}.tar.gz
27+
bzip3 xpar-${{ github.ref_name }}.tar
28+
bzip2 -k xpar-${{ github.ref_name }}.tar
29+
zstd -k xpar-${{ github.ref_name }}.tar
30+
- name: Publish Release
31+
uses: softprops/action-gh-release@v2
32+
env:
33+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
with:
35+
files: |
36+
xpar-${{ github.ref_name }}.tar
37+
xpar-${{ github.ref_name }}.tar.bz2
38+
xpar-${{ github.ref_name }}.tar.bz3
39+
xpar-${{ github.ref_name }}.tar.gz
40+
xpar-${{ github.ref_name }}.tar.zst
41+
xpar-${{ github.ref_name }}.zip
42+
- name: Upload source package artifact
43+
uses: actions/upload-artifact@v3
44+
with:
45+
name: xpar-${{ github.ref_name }}
46+
path: xpar-${{ github.ref_name }}.tar.gz
47+
binaries:
48+
name: Publish Binaries on GitHub Release
49+
needs: [ ghrelease ]
50+
runs-on: ubuntu-latest
51+
strategy:
52+
fail-fast: false
53+
matrix:
54+
target:
55+
- [ "x86_64-linux", "--enable-static --enable-lto", "" ]
56+
- [ "x86_64", "CC=x86_64-w64-mingw32-gcc --host x86_64-w64-mingw32 --enable-static --enable-lto", "gcc-mingw-w64-x86-64" ]
57+
- [ "i686", "CC=i686-w64-mingw32-gcc --host i686-w64-mingw32 --enable-static --enable-lto", "gcc-mingw-w64-i686" ]
58+
steps:
59+
- name: Download source package artifact
60+
uses: actions/download-artifact@v3
61+
with:
62+
name: xpar-${{ github.ref_name }}
63+
- name: Extract source package
64+
run: tar --strip-components=1 -xf xpar-${{ github.ref_name }}.tar.gz
65+
- name: Install cross-compile dependencies
66+
if: ${{ matrix.target[2] }}
67+
run: |
68+
sudo apt-get update
69+
sudo apt-get install -y ${{ matrix.target[2] }}
70+
- name: Configure
71+
run: ./configure --bindir=/ --program-suffix=-${{ matrix.target[0] }} ${{ matrix.target[1] }}
72+
- name: Make
73+
run: |
74+
make
75+
make DESTDIR=$(pwd)/output install-exec
76+
- name: Publish binary
77+
uses: softprops/action-gh-release@v2
78+
with:
79+
files: |
80+
output/xpar-${{ matrix.target[0] }}*

AUTHORS

+1-5
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,8 @@ Kamila Szewczyk <[email protected], [email protected]>
33

44
Acknowledgements:
55
- Marshall Lochbaum (improved syndrome calculation).
6-
- Peter Cawley (developed the mixed-PCMULQDQ and SSE4.2 CRC32C
7-
acceleration technique used by xpar). The code in xpar is
8-
based on the fast-crc32 project of Peter's, available under
9-
the MIT license.
106
- Phil Karn (KA9Q) originally implemented the error+erasure
11-
correction codec used by xpar.
7+
correction codec used by xpar (GPLv2).
128

139
Also contains verbatim code written by:
1410
- Rich Felker (getopt_long shim, Expat/MIT license).

ChangeLog

+40
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,45 @@
11
2024-10-14 Kamila Szewczyk <[email protected]>
22

3+
CI: binaries; configure: static linking mode
4+
5+
CI: tentative release process preparations
6+
7+
move read_header_from_map into a guard block
8+
9+
add strndup prototype to platform.h
10+
11+
try switching to mingw32/mingw64
12+
13+
Windows support
14+
15+
xpar-x86_64.asm - leading underscore fix
16+
17+
CI: aarch64 vanilla macos target, configure: fix leading underscores
18+
19+
settings specific to ELF targets
20+
21+
configure: cleaner flag handling, set up nasm in CI runners
22+
23+
rewrite platform-specific assembly using nasm.
24+
25+
xpar-x86_64.S: .att_syntax directive
26+
27+
fix a lax setmode check
28+
also verify the presence of MS-specific io.h
29+
30+
x86_64 MacOS CI
31+
32+
add a rudimentary self-check target
33+
34+
retain only README.md in EXTRA_DIST
35+
36+
update the actions runner
37+
fix the name of the bootstrap script
38+
39+
fill in v0.1 notes in NEWS, add development section in README.md
40+
41+
Add GNU-compatible changelog.
42+
343
add copyright headers to shell scripts, portable gitlog-to-changelog
444
/bin/sh -> /usr/bin/env sh
545

NEWS

+2
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ v0.1 (pending release)
77
- Supports joint mode and sharded mode for error and erasure correction.
88
- Provides platform-specific code for x86_64, which can be enabled via
99
the --enable-x86_64 configure option.
10+
- Tested on x86_64 Linux (Ubuntu), x86_64 and aarch64 MacOS and x86_64 and
11+
i686 Windows.

configure.ac

+5
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ if test "x$enable_native" = "xyes"; then
3939
AX_APPEND_COMPILE_FLAGS([-march=native -mtune=native])
4040
fi
4141

42+
AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static], [Enable static linking.])], [enable_static=$enableval], [enable_static=no])
43+
if test "x$enable_static" = "xyes"; then
44+
AX_APPEND_LINK_FLAGS([-static])
45+
fi
46+
4247
AC_ARG_ENABLE([lto], [AS_HELP_STRING([--enable-lto], [Enable link-time optimisation.])], [enable_lto=$enableval], [enable_lto=no])
4348
if test "x$enable_lto" = "xyes"; then
4449
AX_APPEND_COMPILE_FLAGS([-flto])

0 commit comments

Comments
 (0)