harfbuzz: Update from 1.4.4 to 1.4.5
[termux-packages] / README.md
index f0d5d4b..c5c8747 100644 (file)
--- a/README.md
+++ b/README.md
@@ -12,9 +12,9 @@ the actual package (so the patches and scripts to build bash are licensed under
 the same license as bash, while the patches and scripts to build python are licensed
 under the same license as python).
 
-Build environment on Ubuntu 16.04
+Build environment on Ubuntu 16.10
 =================================
-Packages are built using Ubuntu 16.04. Perform the following steps to configure a Ubuntu 16.04 installation:
+Packages are built using Ubuntu 16.10. Perform the following steps to configure a Ubuntu 16.10 installation:
 
 - Run `scripts/setup-ubuntu.sh` to install required packages and setup the `/data/` folder.
 
@@ -24,10 +24,11 @@ There is also a [Vagrantfile](scripts/Vagrantfile) available for setting up an U
 
 Build environment using Docker
 ==============================
-On other Linux distributions than Ubuntu 16.04 (or on other platforms than Linux) the best course
+On other Linux distributions than Ubuntu 16.10 (or on other platforms than Linux) the best course
 of action is to setup a Docker container for building packages by executing:
 
-    ./scripts/run-docker.sh
+    ./scripts/run-docker.sh     # On Linux and macOS.
+     .\scripts\run-docker.ps1   # On Windows.
 
 This will setup a container (from an image created by [scripts/Dockerfile](scripts/Dockerfile))
 suitable for building packages.
@@ -70,12 +71,10 @@ Additional utilities
 ====================
 * build-all.sh: used for building all packages in the correct order (using buildorder.py).
 
-* clean-rebuild-all.sh: used for doing a clean rebuild of all packages.
+* clean.sh: used for doing a clean rebuild of all packages.
 
 * scripts/check-pie.sh: Used for verifying that all binaries are using PIE, which is required for Android 5+.
 
-* scripts/detect-hardlinks.sh: Used for finding if any packages uses hardlinks, which does not work on Android M.
-
 * scripts/check-versions.sh: used for checking for package updates.
        
 * scripts/list-packages.sh: used for listing all packages with a one-line summary.
@@ -100,27 +99,23 @@ Resources
 
 Common porting problems
 =======================
-* The Android bionic libc does not have iconv and gettext/libintl functionality built in. A package from the NDK, libandroid-support, contains these and may be used by all packages.
+* The Android bionic libc does not have iconv and gettext/libintl functionality built in. A `libandroid-support` package contains these and may be used by all packages.
 
 * "error: z: no archive symbol table (run ranlib)" usually means that the build machines libz is used instead of the one for cross compilation, due to the builder library -L path being setup incorrectly
 
-* rindex(3) is defined in <strings.h> but does not exist in NDK, but strrchr(3) from <string.h> is preferred anyway
+* rindex(3) does not exist, but strrchr(3) is preferred anyway.
 
 * <sys/termios.h> does not exist, but <termios.h> is the standard location.
 
 * <sys/fcntl.h> does not exist, but <fcntl.h> is the standard location.
 
-* glob(3) system function (glob.h) - not in bionic, but use the `libandroid-glob` package
+* <sys/timeb.h> does not exist (removed in POSIX 2008), but ftime(3) can be replaced with gettimeofday(2).
 
-* [Cmake and cross compiling](http://www.cmake.org/Wiki/CMake_Cross_Compiling).
-  `CMAKE_FIND_ROOT_PATH=$TERMUX_PREFIX` to search there.
-  `CMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY` and `CMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY`
-  for only searching there and don't fall back to build machines
+* <glob.h> does not exist, but is available through the `libandroid-glob` package.
 
-* Android is removing sys/timeb.h because it was removed in POSIX 2008, but ftime(3) can be replaced with gettimeofday(2)
+* SYSV shared memory is not supported by the kernel. A `libandroid-shmem` package, which emulates SYSV shared memory on top of the [ashmem](http://elinux.org/Android_Kernel_Features#ashmem) shared memory system, is available. Use it with `LDFLAGS+=" -landroid-shmem`.
 
-* mempcpy(3) is a GNU extension. We have added it to <string.h> provided TERMUX_EXPOSE_MEMPCPY is defined,
-  so use something like CFLAGS+=" -DTERMUX_EXPOSE_MEMPCPY=1" for packages expecting that function to exist.
+* SYSV semaphores is not supported by the kernel. Use unnamed POSIX semaphores instead (named semaphores are unimplemented).
 
 dlopen() and RTLD_* flags
 =================================