]> git.armaanb.net Git - asd-repo.git/commitdiff
pango, openjpeg: move to junk
authorArmaan Bhojwani <me@armaanb.net>
Wed, 14 Jul 2021 15:19:44 +0000 (11:19 -0400)
committerArmaan Bhojwani <me@armaanb.net>
Wed, 14 Jul 2021 15:19:44 +0000 (11:19 -0400)
22 files changed:
extra/openjpeg/build [deleted file]
extra/openjpeg/checksums [deleted file]
extra/openjpeg/depends [deleted file]
extra/openjpeg/sources [deleted file]
extra/openjpeg/version [deleted file]
extra/pango/build [deleted file]
extra/pango/checksums [deleted file]
extra/pango/depends [deleted file]
extra/pango/patches/no-fribidi.patch [deleted file]
extra/pango/sources [deleted file]
extra/pango/version [deleted file]
junk/openjpeg/build [new file with mode: 0755]
junk/openjpeg/checksums [new file with mode: 0644]
junk/openjpeg/depends [new file with mode: 0644]
junk/openjpeg/sources [new file with mode: 0644]
junk/openjpeg/version [new file with mode: 0644]
junk/pango/build [new file with mode: 0755]
junk/pango/checksums [new file with mode: 0644]
junk/pango/depends [new file with mode: 0644]
junk/pango/patches/no-fribidi.patch [new file with mode: 0644]
junk/pango/sources [new file with mode: 0644]
junk/pango/version [new file with mode: 0644]

diff --git a/extra/openjpeg/build b/extra/openjpeg/build
deleted file mode 100755 (executable)
index 5332ac4..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh -e
-
-export DESTDIR="$1"
-
-cmake -B build \
-    -DCMAKE_INSTALL_PREFIX=/usr \
-    -DCMAKE_INSTALL_LIBDIR=/usr/lib \
-    -DCMAKE_SHARED_LIBS=True \
-    -DCMAKE_BUILD_TYPE=Release
-
-cmake --build build
-cmake --install build
diff --git a/extra/openjpeg/checksums b/extra/openjpeg/checksums
deleted file mode 100644 (file)
index 0c8061d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d
diff --git a/extra/openjpeg/depends b/extra/openjpeg/depends
deleted file mode 100644 (file)
index 3ac7c53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-cmake make
-lcms
-libpng
-tiff
-zlib
diff --git a/extra/openjpeg/sources b/extra/openjpeg/sources
deleted file mode 100644 (file)
index 027f57e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-https://github.com/uclouvain/openjpeg/archive/v2.4.0.tar.gz
diff --git a/extra/openjpeg/version b/extra/openjpeg/version
deleted file mode 100644 (file)
index 36c97d9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-2.4.0 1 
diff --git a/extra/pango/build b/extra/pango/build
deleted file mode 100755 (executable)
index 6bf0c55..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh -e
-
-export DESTDIR="$1"
-
-sed -i \
-    -e "/subdir('tests')/d" \
-    -e "/subdir('examples')/d" \
-    meson.build
-
-patch -p1 < no-fribidi.patch
-
-# Don't clone subprojects we don't even enable
-rm -rf subprojects
-
-meson \
-    --prefix=/usr \
-    -Dgtk_doc=false \
-    -Dinstall-tests=false \
-    -Dintrospection=disabled \
-    . build
-
-ninja -C build
-ninja -C build install
diff --git a/extra/pango/checksums b/extra/pango/checksums
deleted file mode 100644 (file)
index e413894..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-8783c82927582437d3a224eb18ea90d195b7451ff2effdffba16039df5346170
-9d071dd6db8446017d1fcdd252cc168fa889e306d3bbb97651dd55a36425e2c6
diff --git a/extra/pango/depends b/extra/pango/depends
deleted file mode 100644 (file)
index cd1947b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-cairo
-fontconfig
-freetype-harfbuzz
-glib
-libXft
-libXrender
-meson   make
-pkgconf make
diff --git a/extra/pango/patches/no-fribidi.patch b/extra/pango/patches/no-fribidi.patch
deleted file mode 100644 (file)
index f04e7b6..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-diff --git a/meson.build b/meson.build
-index f542574..d57df3a 100644
---- a/meson.build
-+++ b/meson.build
-@@ -191,7 +191,6 @@ endif
- pango_deps = []
- glib_req_version = '>= 2.62'
--fribidi_req_version = '>= 0.19.7'
- libthai_req_version = '>= 0.1.9'
- harfbuzz_req_version = '>= 2.0.0'
- fontconfig_req_version = '>= 2.11.91'
-@@ -211,11 +210,6 @@ gio_dep = dependency('gio-2.0', version: glib_req_version,
-                          fallback: ['glib', 'libgio_dep'])
- pango_deps += [glib_dep, gobject_dep, gio_dep]
--fribidi_dep = dependency('fribidi', version: fribidi_req_version,
--                         fallback: ['fribidi', 'libfribidi_dep'],
--                         default_options: ['docs=false'])
--pango_deps += fribidi_dep
--
- thai_dep = dependency('libthai', version: libthai_req_version, required: get_option('libthai'))
- if thai_dep.found()
-   pango_conf.set('HAVE_LIBTHAI', 1)
-diff --git a/pango/pango-bidi-type.c b/pango/pango-bidi-type.c
-index a5a13a9..29ddeb8 100644
---- a/pango/pango-bidi-type.c
-+++ b/pango/pango-bidi-type.c
-@@ -23,16 +23,18 @@
- #include <string.h>
--#include <fribidi.h>
--
- #undef PANGO_DISABLE_DEPRECATED
- #include "pango-bidi-type.h"
- #include "pango-utils.h"
--#if FRIBIDI_MAJOR_VERSION >= 1
--#define USE_FRIBIDI_EX_API
--#endif
-+typedef uint32_t FriBidiChar;
-+typedef uint32_t FriBidiCharType;
-+typedef int FriBidiStrIndex;
-+typedef int FriBidiParType;
-+typedef signed char FriBidiLevel;
-+
-+#define FRIBIDI_PAR_LTR (0x00000010L | 0x00000100L)
- /**
-  * pango_bidi_type_for_unichar:
-@@ -52,40 +54,7 @@
- PangoBidiType
- pango_bidi_type_for_unichar (gunichar ch)
- {
--  FriBidiCharType fribidi_ch_type;
--
--  G_STATIC_ASSERT (sizeof (FriBidiChar) == sizeof (gunichar));
--
--  fribidi_ch_type = fribidi_get_bidi_type (ch);
--
--  switch (fribidi_ch_type)
--    {
--    case FRIBIDI_TYPE_LTR:  return PANGO_BIDI_TYPE_L;
--    case FRIBIDI_TYPE_LRE:  return PANGO_BIDI_TYPE_LRE;
--    case FRIBIDI_TYPE_LRO:  return PANGO_BIDI_TYPE_LRO;
--    case FRIBIDI_TYPE_RTL:  return PANGO_BIDI_TYPE_R;
--    case FRIBIDI_TYPE_AL:   return PANGO_BIDI_TYPE_AL;
--    case FRIBIDI_TYPE_RLE:  return PANGO_BIDI_TYPE_RLE;
--    case FRIBIDI_TYPE_RLO:  return PANGO_BIDI_TYPE_RLO;
--    case FRIBIDI_TYPE_PDF:  return PANGO_BIDI_TYPE_PDF;
--    case FRIBIDI_TYPE_EN:   return PANGO_BIDI_TYPE_EN;
--    case FRIBIDI_TYPE_ES:   return PANGO_BIDI_TYPE_ES;
--    case FRIBIDI_TYPE_ET:   return PANGO_BIDI_TYPE_ET;
--    case FRIBIDI_TYPE_AN:   return PANGO_BIDI_TYPE_AN;
--    case FRIBIDI_TYPE_CS:   return PANGO_BIDI_TYPE_CS;
--    case FRIBIDI_TYPE_NSM:  return PANGO_BIDI_TYPE_NSM;
--    case FRIBIDI_TYPE_BN:   return PANGO_BIDI_TYPE_BN;
--    case FRIBIDI_TYPE_BS:   return PANGO_BIDI_TYPE_B;
--    case FRIBIDI_TYPE_SS:   return PANGO_BIDI_TYPE_S;
--    case FRIBIDI_TYPE_WS:   return PANGO_BIDI_TYPE_WS;
--    case FRIBIDI_TYPE_ON:   return PANGO_BIDI_TYPE_ON;
--    case FRIBIDI_TYPE_LRI:  return PANGO_BIDI_TYPE_LRI;
--    case FRIBIDI_TYPE_RLI:  return PANGO_BIDI_TYPE_RLI;
--    case FRIBIDI_TYPE_FSI:  return PANGO_BIDI_TYPE_FSI;
--    case FRIBIDI_TYPE_PDI:  return PANGO_BIDI_TYPE_PDI;
--    default:
--      return PANGO_BIDI_TYPE_ON;
--    }
-+    return PANGO_BIDI_TYPE_L;
- }
- /* Some bidi-related functions */
-@@ -120,38 +89,16 @@ pango_log2vis_get_embedding_levels (const gchar    *text,
-   glong n_chars, i;
-   guint8 *embedding_levels_list;
-   const gchar *p;
--  FriBidiParType fribidi_base_dir;
-   FriBidiCharType *bidi_types;
- #ifdef USE_FRIBIDI_EX_API
-   FriBidiBracketType *bracket_types;
- #endif
-   FriBidiLevel max_level;
-   FriBidiCharType ored_types = 0;
--  FriBidiCharType anded_strongs = FRIBIDI_TYPE_RLE;
-   G_STATIC_ASSERT (sizeof (FriBidiLevel) == sizeof (guint8));
-   G_STATIC_ASSERT (sizeof (FriBidiChar) == sizeof (gunichar));
--  switch (*pbase_dir)
--    {
--    case PANGO_DIRECTION_LTR:
--    case PANGO_DIRECTION_TTB_RTL:
--      fribidi_base_dir = FRIBIDI_PAR_LTR;
--      break;
--    case PANGO_DIRECTION_RTL:
--    case PANGO_DIRECTION_TTB_LTR:
--      fribidi_base_dir = FRIBIDI_PAR_RTL;
--      break;
--    case PANGO_DIRECTION_WEAK_RTL:
--      fribidi_base_dir = FRIBIDI_PAR_WRTL;
--      break;
--    case PANGO_DIRECTION_WEAK_LTR:
--    case PANGO_DIRECTION_NEUTRAL:
--    default:
--      fribidi_base_dir = FRIBIDI_PAR_WLTR;
--      break;
--    }
--
-   if (length < 0)
-     length = strlen (text);
-@@ -165,16 +112,13 @@ pango_log2vis_get_embedding_levels (const gchar    *text,
-   for (i = 0, p = text; p < text + length; p = g_utf8_next_char(p), i++)
-     {
--      gunichar ch = g_utf8_get_char (p);
--      FriBidiCharType char_type = fribidi_get_bidi_type (ch);
-+      FriBidiCharType char_type = FRIBIDI_PAR_LTR;
-       if (i == n_chars)
-         break;
-       bidi_types[i] = char_type;
-       ored_types |= char_type;
--      if (FRIBIDI_IS_STRONG (char_type))
--        anded_strongs &= char_type;
- #ifdef USE_FRIBIDI_EX_API
-       if (G_UNLIKELY(bidi_types[i] == FRIBIDI_TYPE_ON))
-         bracket_types[i] = fribidi_get_bracket (ch);
-@@ -200,39 +144,8 @@ pango_log2vis_get_embedding_levels (const gchar    *text,
-      * o base_dir doesn't have an RTL taste.
-      * o there are letters, and base_dir is weak.
-      */
--    if (!FRIBIDI_IS_ISOLATE (ored_types) &&
--      !FRIBIDI_IS_RTL (ored_types) &&
--      !FRIBIDI_IS_ARABIC (ored_types) &&
--      (!FRIBIDI_IS_RTL (fribidi_base_dir) ||
--        (FRIBIDI_IS_WEAK (fribidi_base_dir) &&
--         FRIBIDI_IS_LETTER (ored_types))
--      ))
--      {
--        /* all LTR */
--      fribidi_base_dir = FRIBIDI_PAR_LTR;
-       memset (embedding_levels_list, 0, n_chars);
-       goto resolved;
--      }
--    /* The case that all resolved levels will be RTL is much more complex.
--     * No isolates, no numbers, all strongs are RTL, and one of
--     * the following:
--     *
--     * o base_dir has an RTL taste (may be weak).
--     * o there are letters, and base_dir is weak.
--     */
--    else if (!FRIBIDI_IS_ISOLATE (ored_types) &&
--           !FRIBIDI_IS_NUMBER (ored_types) &&
--           FRIBIDI_IS_RTL (anded_strongs) &&
--           (FRIBIDI_IS_RTL (fribidi_base_dir) ||
--             (FRIBIDI_IS_WEAK (fribidi_base_dir) &&
--              FRIBIDI_IS_LETTER (ored_types))
--           ))
--      {
--        /* all RTL */
--      fribidi_base_dir = FRIBIDI_PAR_RTL;
--      memset (embedding_levels_list, 1, n_chars);
--      goto resolved;
--      }
- #ifdef USE_FRIBIDI_EX_API
-@@ -240,12 +153,10 @@ pango_log2vis_get_embedding_levels (const gchar    *text,
-                                                  &fribidi_base_dir,
-                                                  (FriBidiLevel*)embedding_levels_list);
- #else
--  max_level = fribidi_get_par_embedding_levels (bidi_types, n_chars,
--                                              &fribidi_base_dir,
--                                              (FriBidiLevel*)embedding_levels_list);
-+  max_level = 0;
- #endif
--  if (G_UNLIKELY(max_level == 0))
-+  if (max_level == 0)
-     {
-       /* fribidi_get_par_embedding_levels() failed. */
-       memset (embedding_levels_list, 0, length);
-@@ -258,7 +169,7 @@ resolved:
-   g_free (bracket_types);
- #endif
--  *pbase_dir = (fribidi_base_dir == FRIBIDI_PAR_LTR) ?  PANGO_DIRECTION_LTR : PANGO_DIRECTION_RTL;
-+  *pbase_dir = PANGO_DIRECTION_LTR;
-   return embedding_levels_list;
- }
-@@ -282,17 +193,6 @@ resolved:
- PangoDirection
- pango_unichar_direction (gunichar ch)
- {
--  FriBidiCharType fribidi_ch_type;
--
--  G_STATIC_ASSERT (sizeof (FriBidiChar) == sizeof (gunichar));
--
--  fribidi_ch_type = fribidi_get_bidi_type (ch);
--
--  if (!FRIBIDI_IS_STRONG (fribidi_ch_type))
--    return PANGO_DIRECTION_NEUTRAL;
--  else if (FRIBIDI_IS_RTL (fribidi_ch_type))
--    return PANGO_DIRECTION_RTL;
--  else
-     return PANGO_DIRECTION_LTR;
- }
diff --git a/extra/pango/sources b/extra/pango/sources
deleted file mode 100644 (file)
index 4222e58..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-https://github.com/GNOME/pango/archive/1.48.7.tar.gz
-patches/no-fribidi.patch
diff --git a/extra/pango/version b/extra/pango/version
deleted file mode 100644 (file)
index 9989cfa..0000000
+++ /dev/null
@@ -1 +0,0 @@
-1.48.7 2
diff --git a/junk/openjpeg/build b/junk/openjpeg/build
new file mode 100755 (executable)
index 0000000..5332ac4
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cmake -B build \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+    -DCMAKE_SHARED_LIBS=True \
+    -DCMAKE_BUILD_TYPE=Release
+
+cmake --build build
+cmake --install build
diff --git a/junk/openjpeg/checksums b/junk/openjpeg/checksums
new file mode 100644 (file)
index 0000000..0c8061d
--- /dev/null
@@ -0,0 +1 @@
+8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d
diff --git a/junk/openjpeg/depends b/junk/openjpeg/depends
new file mode 100644 (file)
index 0000000..3ac7c53
--- /dev/null
@@ -0,0 +1,5 @@
+cmake make
+lcms
+libpng
+tiff
+zlib
diff --git a/junk/openjpeg/sources b/junk/openjpeg/sources
new file mode 100644 (file)
index 0000000..027f57e
--- /dev/null
@@ -0,0 +1 @@
+https://github.com/uclouvain/openjpeg/archive/v2.4.0.tar.gz
diff --git a/junk/openjpeg/version b/junk/openjpeg/version
new file mode 100644 (file)
index 0000000..36c97d9
--- /dev/null
@@ -0,0 +1 @@
+2.4.0 1 
diff --git a/junk/pango/build b/junk/pango/build
new file mode 100755 (executable)
index 0000000..6bf0c55
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+sed -i \
+    -e "/subdir('tests')/d" \
+    -e "/subdir('examples')/d" \
+    meson.build
+
+patch -p1 < no-fribidi.patch
+
+# Don't clone subprojects we don't even enable
+rm -rf subprojects
+
+meson \
+    --prefix=/usr \
+    -Dgtk_doc=false \
+    -Dinstall-tests=false \
+    -Dintrospection=disabled \
+    . build
+
+ninja -C build
+ninja -C build install
diff --git a/junk/pango/checksums b/junk/pango/checksums
new file mode 100644 (file)
index 0000000..e413894
--- /dev/null
@@ -0,0 +1,2 @@
+8783c82927582437d3a224eb18ea90d195b7451ff2effdffba16039df5346170
+9d071dd6db8446017d1fcdd252cc168fa889e306d3bbb97651dd55a36425e2c6
diff --git a/junk/pango/depends b/junk/pango/depends
new file mode 100644 (file)
index 0000000..cd1947b
--- /dev/null
@@ -0,0 +1,8 @@
+cairo
+fontconfig
+freetype-harfbuzz
+glib
+libXft
+libXrender
+meson   make
+pkgconf make
diff --git a/junk/pango/patches/no-fribidi.patch b/junk/pango/patches/no-fribidi.patch
new file mode 100644 (file)
index 0000000..f04e7b6
--- /dev/null
@@ -0,0 +1,233 @@
+diff --git a/meson.build b/meson.build
+index f542574..d57df3a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -191,7 +191,6 @@ endif
+ pango_deps = []
+ glib_req_version = '>= 2.62'
+-fribidi_req_version = '>= 0.19.7'
+ libthai_req_version = '>= 0.1.9'
+ harfbuzz_req_version = '>= 2.0.0'
+ fontconfig_req_version = '>= 2.11.91'
+@@ -211,11 +210,6 @@ gio_dep = dependency('gio-2.0', version: glib_req_version,
+                          fallback: ['glib', 'libgio_dep'])
+ pango_deps += [glib_dep, gobject_dep, gio_dep]
+-fribidi_dep = dependency('fribidi', version: fribidi_req_version,
+-                         fallback: ['fribidi', 'libfribidi_dep'],
+-                         default_options: ['docs=false'])
+-pango_deps += fribidi_dep
+-
+ thai_dep = dependency('libthai', version: libthai_req_version, required: get_option('libthai'))
+ if thai_dep.found()
+   pango_conf.set('HAVE_LIBTHAI', 1)
+diff --git a/pango/pango-bidi-type.c b/pango/pango-bidi-type.c
+index a5a13a9..29ddeb8 100644
+--- a/pango/pango-bidi-type.c
++++ b/pango/pango-bidi-type.c
+@@ -23,16 +23,18 @@
+ #include <string.h>
+-#include <fribidi.h>
+-
+ #undef PANGO_DISABLE_DEPRECATED
+ #include "pango-bidi-type.h"
+ #include "pango-utils.h"
+-#if FRIBIDI_MAJOR_VERSION >= 1
+-#define USE_FRIBIDI_EX_API
+-#endif
++typedef uint32_t FriBidiChar;
++typedef uint32_t FriBidiCharType;
++typedef int FriBidiStrIndex;
++typedef int FriBidiParType;
++typedef signed char FriBidiLevel;
++
++#define FRIBIDI_PAR_LTR (0x00000010L | 0x00000100L)
+ /**
+  * pango_bidi_type_for_unichar:
+@@ -52,40 +54,7 @@
+ PangoBidiType
+ pango_bidi_type_for_unichar (gunichar ch)
+ {
+-  FriBidiCharType fribidi_ch_type;
+-
+-  G_STATIC_ASSERT (sizeof (FriBidiChar) == sizeof (gunichar));
+-
+-  fribidi_ch_type = fribidi_get_bidi_type (ch);
+-
+-  switch (fribidi_ch_type)
+-    {
+-    case FRIBIDI_TYPE_LTR:  return PANGO_BIDI_TYPE_L;
+-    case FRIBIDI_TYPE_LRE:  return PANGO_BIDI_TYPE_LRE;
+-    case FRIBIDI_TYPE_LRO:  return PANGO_BIDI_TYPE_LRO;
+-    case FRIBIDI_TYPE_RTL:  return PANGO_BIDI_TYPE_R;
+-    case FRIBIDI_TYPE_AL:   return PANGO_BIDI_TYPE_AL;
+-    case FRIBIDI_TYPE_RLE:  return PANGO_BIDI_TYPE_RLE;
+-    case FRIBIDI_TYPE_RLO:  return PANGO_BIDI_TYPE_RLO;
+-    case FRIBIDI_TYPE_PDF:  return PANGO_BIDI_TYPE_PDF;
+-    case FRIBIDI_TYPE_EN:   return PANGO_BIDI_TYPE_EN;
+-    case FRIBIDI_TYPE_ES:   return PANGO_BIDI_TYPE_ES;
+-    case FRIBIDI_TYPE_ET:   return PANGO_BIDI_TYPE_ET;
+-    case FRIBIDI_TYPE_AN:   return PANGO_BIDI_TYPE_AN;
+-    case FRIBIDI_TYPE_CS:   return PANGO_BIDI_TYPE_CS;
+-    case FRIBIDI_TYPE_NSM:  return PANGO_BIDI_TYPE_NSM;
+-    case FRIBIDI_TYPE_BN:   return PANGO_BIDI_TYPE_BN;
+-    case FRIBIDI_TYPE_BS:   return PANGO_BIDI_TYPE_B;
+-    case FRIBIDI_TYPE_SS:   return PANGO_BIDI_TYPE_S;
+-    case FRIBIDI_TYPE_WS:   return PANGO_BIDI_TYPE_WS;
+-    case FRIBIDI_TYPE_ON:   return PANGO_BIDI_TYPE_ON;
+-    case FRIBIDI_TYPE_LRI:  return PANGO_BIDI_TYPE_LRI;
+-    case FRIBIDI_TYPE_RLI:  return PANGO_BIDI_TYPE_RLI;
+-    case FRIBIDI_TYPE_FSI:  return PANGO_BIDI_TYPE_FSI;
+-    case FRIBIDI_TYPE_PDI:  return PANGO_BIDI_TYPE_PDI;
+-    default:
+-      return PANGO_BIDI_TYPE_ON;
+-    }
++    return PANGO_BIDI_TYPE_L;
+ }
+ /* Some bidi-related functions */
+@@ -120,38 +89,16 @@ pango_log2vis_get_embedding_levels (const gchar    *text,
+   glong n_chars, i;
+   guint8 *embedding_levels_list;
+   const gchar *p;
+-  FriBidiParType fribidi_base_dir;
+   FriBidiCharType *bidi_types;
+ #ifdef USE_FRIBIDI_EX_API
+   FriBidiBracketType *bracket_types;
+ #endif
+   FriBidiLevel max_level;
+   FriBidiCharType ored_types = 0;
+-  FriBidiCharType anded_strongs = FRIBIDI_TYPE_RLE;
+   G_STATIC_ASSERT (sizeof (FriBidiLevel) == sizeof (guint8));
+   G_STATIC_ASSERT (sizeof (FriBidiChar) == sizeof (gunichar));
+-  switch (*pbase_dir)
+-    {
+-    case PANGO_DIRECTION_LTR:
+-    case PANGO_DIRECTION_TTB_RTL:
+-      fribidi_base_dir = FRIBIDI_PAR_LTR;
+-      break;
+-    case PANGO_DIRECTION_RTL:
+-    case PANGO_DIRECTION_TTB_LTR:
+-      fribidi_base_dir = FRIBIDI_PAR_RTL;
+-      break;
+-    case PANGO_DIRECTION_WEAK_RTL:
+-      fribidi_base_dir = FRIBIDI_PAR_WRTL;
+-      break;
+-    case PANGO_DIRECTION_WEAK_LTR:
+-    case PANGO_DIRECTION_NEUTRAL:
+-    default:
+-      fribidi_base_dir = FRIBIDI_PAR_WLTR;
+-      break;
+-    }
+-
+   if (length < 0)
+     length = strlen (text);
+@@ -165,16 +112,13 @@ pango_log2vis_get_embedding_levels (const gchar    *text,
+   for (i = 0, p = text; p < text + length; p = g_utf8_next_char(p), i++)
+     {
+-      gunichar ch = g_utf8_get_char (p);
+-      FriBidiCharType char_type = fribidi_get_bidi_type (ch);
++      FriBidiCharType char_type = FRIBIDI_PAR_LTR;
+       if (i == n_chars)
+         break;
+       bidi_types[i] = char_type;
+       ored_types |= char_type;
+-      if (FRIBIDI_IS_STRONG (char_type))
+-        anded_strongs &= char_type;
+ #ifdef USE_FRIBIDI_EX_API
+       if (G_UNLIKELY(bidi_types[i] == FRIBIDI_TYPE_ON))
+         bracket_types[i] = fribidi_get_bracket (ch);
+@@ -200,39 +144,8 @@ pango_log2vis_get_embedding_levels (const gchar    *text,
+      * o base_dir doesn't have an RTL taste.
+      * o there are letters, and base_dir is weak.
+      */
+-    if (!FRIBIDI_IS_ISOLATE (ored_types) &&
+-      !FRIBIDI_IS_RTL (ored_types) &&
+-      !FRIBIDI_IS_ARABIC (ored_types) &&
+-      (!FRIBIDI_IS_RTL (fribidi_base_dir) ||
+-        (FRIBIDI_IS_WEAK (fribidi_base_dir) &&
+-         FRIBIDI_IS_LETTER (ored_types))
+-      ))
+-      {
+-        /* all LTR */
+-      fribidi_base_dir = FRIBIDI_PAR_LTR;
+       memset (embedding_levels_list, 0, n_chars);
+       goto resolved;
+-      }
+-    /* The case that all resolved levels will be RTL is much more complex.
+-     * No isolates, no numbers, all strongs are RTL, and one of
+-     * the following:
+-     *
+-     * o base_dir has an RTL taste (may be weak).
+-     * o there are letters, and base_dir is weak.
+-     */
+-    else if (!FRIBIDI_IS_ISOLATE (ored_types) &&
+-           !FRIBIDI_IS_NUMBER (ored_types) &&
+-           FRIBIDI_IS_RTL (anded_strongs) &&
+-           (FRIBIDI_IS_RTL (fribidi_base_dir) ||
+-             (FRIBIDI_IS_WEAK (fribidi_base_dir) &&
+-              FRIBIDI_IS_LETTER (ored_types))
+-           ))
+-      {
+-        /* all RTL */
+-      fribidi_base_dir = FRIBIDI_PAR_RTL;
+-      memset (embedding_levels_list, 1, n_chars);
+-      goto resolved;
+-      }
+ #ifdef USE_FRIBIDI_EX_API
+@@ -240,12 +153,10 @@ pango_log2vis_get_embedding_levels (const gchar    *text,
+                                                  &fribidi_base_dir,
+                                                  (FriBidiLevel*)embedding_levels_list);
+ #else
+-  max_level = fribidi_get_par_embedding_levels (bidi_types, n_chars,
+-                                              &fribidi_base_dir,
+-                                              (FriBidiLevel*)embedding_levels_list);
++  max_level = 0;
+ #endif
+-  if (G_UNLIKELY(max_level == 0))
++  if (max_level == 0)
+     {
+       /* fribidi_get_par_embedding_levels() failed. */
+       memset (embedding_levels_list, 0, length);
+@@ -258,7 +169,7 @@ resolved:
+   g_free (bracket_types);
+ #endif
+-  *pbase_dir = (fribidi_base_dir == FRIBIDI_PAR_LTR) ?  PANGO_DIRECTION_LTR : PANGO_DIRECTION_RTL;
++  *pbase_dir = PANGO_DIRECTION_LTR;
+   return embedding_levels_list;
+ }
+@@ -282,17 +193,6 @@ resolved:
+ PangoDirection
+ pango_unichar_direction (gunichar ch)
+ {
+-  FriBidiCharType fribidi_ch_type;
+-
+-  G_STATIC_ASSERT (sizeof (FriBidiChar) == sizeof (gunichar));
+-
+-  fribidi_ch_type = fribidi_get_bidi_type (ch);
+-
+-  if (!FRIBIDI_IS_STRONG (fribidi_ch_type))
+-    return PANGO_DIRECTION_NEUTRAL;
+-  else if (FRIBIDI_IS_RTL (fribidi_ch_type))
+-    return PANGO_DIRECTION_RTL;
+-  else
+     return PANGO_DIRECTION_LTR;
+ }
diff --git a/junk/pango/sources b/junk/pango/sources
new file mode 100644 (file)
index 0000000..4222e58
--- /dev/null
@@ -0,0 +1,2 @@
+https://github.com/GNOME/pango/archive/1.48.7.tar.gz
+patches/no-fribidi.patch
diff --git a/junk/pango/version b/junk/pango/version
new file mode 100644 (file)
index 0000000..9989cfa
--- /dev/null
@@ -0,0 +1 @@
+1.48.7 2