diff options
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r-- | pkgs/development/libraries/fontconfig/default.nix | 58 | ||||
-rw-r--r-- | pkgs/development/libraries/fontconfig/macos-atomics.h | 39 |
2 files changed, 13 insertions, 84 deletions
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix index c0846edbbfe..075c810131c 100644 --- a/pkgs/development/libraries/fontconfig/default.nix +++ b/pkgs/development/libraries/fontconfig/default.nix @@ -3,6 +3,7 @@ , substituteAll , fetchurl , pkg-config +, python3 , freetype , expat , libxslt @@ -14,67 +15,29 @@ stdenv.mkDerivation rec { pname = "fontconfig"; - version = "2.13.92"; + version = "2.13.93"; src = fetchurl { url = "http://fontconfig.org/release/${pname}-${version}.tar.xz"; - sha256 = "0kkfsvxcvcphm9zcgsh646gix3qn4spz555wa1jp5hbq70l62vjh"; + sha256 = "1850q4k80yxma5g3yxkvyv8i5a3xqzswwml8gjy3jmywx8qqd5pa"; }; patches = [ - # Fix fonts not being loaded when missing included configs that have ignore_missing="yes". - # https://bugzilla.redhat.com/show_bug.cgi?id=1744377 + # Fix build with no docbook2html. (fetchpatch { - url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/fcada522913e5e07efa6367eff87ace9f06d24c8.patch"; - sha256 = "1jbm3vw45b3qjnqrh2545v1k8vmb29c09v2wj07jnrq3lnchbvmn"; + url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/60ce9b695ee9d1ac514a61f562e210d3278ba605.patch"; + sha256 = "0hfd2jdvsgackdp29dyzf5b1277pnbacihxqh9vdn63rr932ipra"; }) - - # Register JoyPixels as an emoji font. - # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/67 - (fetchpatch { - url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/65087ac7ce4cc5f2109967c1380b474955dcb590.patch"; - sha256 = "1dkrbqx1c1d8yfnx0igvv516wanw2ksrpm3fbpm2h9nw0hccwqvm"; - }) - - # Fix invalid DTD in reset-dirs. - # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/78 - (fetchpatch { - url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/a4aa66a858f1ecd375c5efe5916398281f73f794.patch"; - sha256 = "1j4ky8jhpllfm1lh2if34xglh2hl79nsa0xxgzxpj9sx6h4v99j5"; - }) - - # Do not include its tags, they are external now and only cause warnings with old fontconfig clients. - # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/97 - (fetchpatch { - url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/528b17b2837c3b102acd90cc7548d07bacaccb1f.patch"; - sha256 = "1zf4wcd2xlprh805jalfy8ja5c2qzgkh4fwd1m9d638nl9gx932m"; - }) - # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/100 - (fetchpatch { - url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/37c7c748740bf6f2468d59e67951902710240b34.patch"; - sha256 = "1rz5zrfwhpn9g49wrzzrmdglj78pbvpnw8ksgsw6bxq8l5d84jfr"; - }) - - # Show warning instead of error when encountering unknown attribute in config. - # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/111 - (fetchpatch { - url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/409b37c62780728755c908991c912a6b16f2389c.patch"; - sha256 = "zJFh37QErSAINPGFkFVJyhYRP27BuIN7PIgoDl/PIwI="; - }) - - # Combination of - # https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/88 - # https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/131 - ./macos-atomics.h ]; outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config nativeBuildInputs = [ + autoreconfHook gperf libxslt pkg-config - autoreconfHook + python3 ]; buildInputs = [ @@ -85,6 +48,11 @@ stdenv.mkDerivation rec { freetype ]; + postPatch = '' + # Requires networking. + sed -i '/check_PROGRAMS += test-crbug1004254/d' test/Makefile.am + ''; + configureFlags = [ "--sysconfdir=/etc" "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" diff --git a/pkgs/development/libraries/fontconfig/macos-atomics.h b/pkgs/development/libraries/fontconfig/macos-atomics.h deleted file mode 100644 index 07b0cf1d52d..00000000000 --- a/pkgs/development/libraries/fontconfig/macos-atomics.h +++ /dev/null @@ -1,39 +0,0 @@ ---- a/src/fcatomic.h 2020-11-27 13:23:44.000000000 +0900 -+++ b/src/fcatomic.h 2020-11-27 13:24:43.000000000 +0900 -@@ -70,24 +70,25 @@ - #elif !defined(FC_NO_MT) && defined(__APPLE__) - - #include <libkern/OSAtomic.h> --#ifdef __MAC_OS_X_MIN_REQUIRED - #include <AvailabilityMacros.h> --#elif defined(__IPHONE_OS_MIN_REQUIRED) --#include <Availability.h> --#endif - - typedef int fc_atomic_int_t; - #define fc_atomic_int_add(AI, V) (OSAtomicAdd32Barrier ((V), &(AI)) - (V)) - --#define fc_atomic_ptr_get(P) (OSMemoryBarrier (), (void *) *(P)) --#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100) --#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P)) --#else --#if __ppc64__ || __x86_64__ --#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P)) -+#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_OS_VERSION_MIN_REQUIRED >= 20100) -+ -+#if SIZEOF_VOID_P == 8 -+#define fc_atomic_ptr_get(P) OSAtomicAdd64Barrier (0, (int64_t*)(P)) -+#elif SIZEOF_VOID_P == 4 -+#define fc_atomic_ptr_get(P) OSAtomicAdd32Barrier (0, (int32_t*)(P)) - #else --#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap32Barrier ((int32_t) (O), (int32_t) (N), (int32_t*) (P)) -+#error "SIZEOF_VOID_P not 4 or 8 (assumes CHAR_BIT is 8)" - #endif -+ -+#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P)) -+ -+#else -+#error "Your macOS / iOS targets are too old" - #endif - - #elif !defined(FC_NO_MT) && defined(HAVE_INTEL_ATOMIC_PRIMITIVES) |