From b2f7c196685caf38f63868a40fbe7453c218239e Mon Sep 17 00:00:00 2001
From: Stephen Clark <stephen.clark@oarcorp.com>
Date: Wed, 23 Sep 2020 16:00:55 -0500
Subject: [PATCH] pkgconfig.py: Removed use of "unicode" keyword for python3
 compatibility

Closes #4094.
---
 source-builder/sb/pkgconfig.py | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/source-builder/sb/pkgconfig.py b/source-builder/sb/pkgconfig.py
index 99646f7..afc259b 100755
--- a/source-builder/sb/pkgconfig.py
+++ b/source-builder/sb/pkgconfig.py
@@ -102,6 +102,22 @@ class package(object):
         dst.fields = copy.copy(src.fields)
         dst.nodes = copy.copy(src.nodes)
 
+    @staticmethod
+    def _is_string(us):
+        if type(us) == str:
+            return True
+        try:
+            if type(us) == unicode:
+                return True
+        except:
+            pass
+        try:
+            if type(us) == bytes:
+                return True
+        except:
+            pass
+        return False
+
     @staticmethod
     def is_version(v):
         for n in v.split('.'):
@@ -214,7 +230,7 @@ class package(object):
             prefix = default_prefix()
         if prefix:
             self._log('prefix: %s' % (prefix))
-            if type(prefix) is str or type(prefix) is unicode:
+            if self._is_string(prefix):
                 prefix = str(prefix)
                 self.prefix = []
                 for p in prefix.split(os.pathsep):
-- 
2.27.0

