HarfBuzz release walk-through checklist:
git diff $(git describe | sed 's/-.*//').. src/*.h
prints all public API changes.
Document them in NEWS, All API and API semantic changes should be clearly marked as API additions, API changes, or API deletions. If there‘s a backward-incompatible API change (including deletions for API used anywhere), that’s a release blocker. Do NOT release. Document deprecations.
~/.local/i686-w64-mingw32
./MING32 --with-uniscribe
script (available below) to config harfbuzz with mingw./UPDATE.sh
(available below)/srv/www.freedesktop.org/www/software/harfbuzz/release
There should be four files. Eg.:-rw-r--r-- 1 behdad eng 1592693 Jul 18 11:25 harfbuzz-1.4.7.tar.bz2 -rw-r--r-- 1 behdad eng 89 Jul 18 11:34 harfbuzz-1.4.7.tar.bz2.sha256 -rw-r--r-- 1 behdad eng 339 Jul 18 11:34 harfbuzz-1.4.7.tar.bz2.sha256.asc -rw-r--r-- 1 behdad eng 2895619 Jul 18 11:34 harfbuzz-1.4.7-win32.zip
#!/bin/bash target=i686-w64-mingw32 unset CC unset CXX unset CPP unset LD unset LDFLAGS unset CFLAGS unset CXXFLAGS unset PKG_CONFIG_PATH # Removed -static from the following export CFLAGS="-static-libgcc" export CXXFLAGS="-static-libgcc -static-libstdc++" export CPPFLAGS=-I$HOME/.local/$target/include export LDFLAGS=-L$HOME/.local/$target/lib export PKG_CONFIG_LIBDIR=$HOME/.local/$target/lib/pkgconfig export PATH=$HOME/.local/$target/bin:$PATH ../configure --build=`~/script/config.guess` --host=$target --prefix=/home/behdad/.local/$target "$@"
#!/bin/bash v=$1 if test "x$v" = x; then echo "usage: UPDATE.sh micro-version" exit 1 fi dir_prefix=harfbuzz-1.4. dir_suffix=-win32 dir=$dir_prefix$v$dir_suffix dir_old=$dir_prefix$((v-1))$dir_suffix if test -d "$dir"; then echo "New dir $dir exists; not overwriting" exit 1 fi if ! test -d "$dir_old"; then echo "Old dir $dir_old does NOT exist; aborting" exit 1 fi set -ex cp -a "$dir_old" "$dir.tmp" rm -f "$dir.tmp"/GDX32.dll rm -f "$dir.tmp"/usp10.dll cp ../winbuild/src/.libs/libharfbuzz-0.dll{,.def} $dir.tmp/ cp ../winbuild/util/.libs/hb-{shape,view}.exe $dir.tmp/ i686-w64-mingw32-strip $dir.tmp/{hb-shape.exe,hb-view.exe,libharfbuzz-0.dll} mv $dir.tmp $dir zip -r $dir.zip $dir echo Bundle $dir.zip ready