3
0
Fork 0

Merge branch 'master' of ssh://git.code.sf.net/p/kiwix/kiwix

Conflicts:
	kiwix/chrome/content/main/js/tools.js
small_fixes
Kelson42 12 years ago
commit 5c53897ea8

@ -3,7 +3,9 @@
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>xulrunner</string>
<string>kiwix</string>
<key>CFBundleDisplayName</key>
<string>Kiwix</string>
<key>CFBundleGetInfoString</key>
<string>0.9 rc3</string>
<key>CFBundleIconFile</key>
@ -11,15 +13,17 @@
<key>CFBundleIdentifier</key>
<string>org.kiwix.kiwix</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>0.1</string>
<string>6.0</string>
<key>CFBundleName</key>
<string>Kiwix</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.9</string>
<string>0.9 rc3</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleSignature</key>
<string>????</string>
<string>KIWI</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
@ -34,7 +38,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.0</string>
<string>1.0.1</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
@ -53,5 +57,45 @@
<string>Viewer</string>
</dict>
</array>
<key>LSApplicationCategoryType</key>
<string>public.app-category.productivity</string>
<key>LSMinimumSystemVersion</key>
<string>10.6.0</string>
<key>LSMinimumSystemVersionByArchitecture</key>
<dict>
<key>i386</key>
<string>10.6.0</string>
<key>x86_64</key>
<string>10.6.0</string>
</dict>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
<key>NSPrincipalClass</key>
<string>GeckoNSApplication</string>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeIdentifier</key>
<string>org.kiwix.kiwix.zim</string>
<key>UTTypeReferenceURL</key>
<string>http://www.kiwix.org</string>
<key>UTTypeDescription</key>
<string>Kiwix ZIM File</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
<string>public.content</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>com.apple.ostype</key>
<string>TBMZ</string>
<key>public.filename-extension</key>
<array>
<string>zim</string>
</array>
</dict>
</dict>
</array>
</dict>
</plist>
</plist>

@ -0,0 +1,3 @@
CFBundleName = "Kiwix";
NSHumanReadableCopyright = "Copyright © 2006-2014 Contributors.";

@ -0,0 +1 @@
APPLMOZM

@ -10,8 +10,8 @@ MODE_BINARY = 2
MODE_LIBRARY = 3
MODES = {'c': MODE_COMPONENT,
'b': MODE_BINARY,
'l': MODE_LIBRARY}
'b': MODE_BINARY,
'l': MODE_LIBRARY}
is_library = False
is_component = False
@ -19,85 +19,88 @@ is_binary = False
def usage():
print(u"Usage: %s MODE component/path.dylib" % sys.argv[0])
print(u" MODE is c: component or b: binary or l: library")
print(u"Usage: %s MODE component/path.dylib" % sys.argv[0])
print(u" MODE is c: component or b: binary or l: library")
if len(sys.argv) < 3:
usage()
exit(0)
usage()
exit(0)
component = sys.argv[-1]
mode = MODES.get(sys.argv[-2].lower())
if not mode:
usage()
exit(1)
usage()
exit(1)
# mode switchers
if mode == MODE_COMPONENT:
is_component = True
is_component = True
elif mode == MODE_LIBRARY:
is_library = True
is_library = True
else:
is_binary = True
is_binary = True
if not os.path.exists(component):
print(u"Unable to access component at: %s" % component)
exit(1)
print(u"Unable to access component at: %s" % component)
exit(1)
# we'll also allow binaries to be fixed.
#
if (is_library or is_component) and not component.endswith('.dylib'):
print(u"%s is not a dylib component" % component)
exit(1)
print(u"%s is not a dylib component" % component)
exit(1)
print("Fixing %s..." % component)
basename = os.path.basename(component)
try:
name, ext = basename.rsplit('.', 1)
name, ext = basename.rsplit('.', 1)
except ValueError:
name = basename
ext = ''
name = basename
ext = ''
libname = u'lib%s%s.0.dylib' % (name[0].upper(), name[1:])
# change ID if component to match new name/path
if is_component:
os.system('install_name_tool -id %s %s' % (basename, component))
os.system('install_name_tool -id %s %s' % (basename, component))
# run otool to get a list of deps.
otool = subprocess.Popen(['otool', '-L', component], stdout=subprocess.PIPE)
otool_out, otool_err = otool.communicate()
for line in otool_out.split('\n'):
if ('executable_path' in line
or 'libSystem' in line
or 'libstdc++' in line
or ':' in line
or not len(line)
or 'aria2c' in basename):
continue
path, junk = line.strip().split(' (', 1)
# erroneous_links.append(path)
_basename = os.path.basename(path).strip()
if _basename == basename:
continue
# is it a library link?
match = re.match(r'lib([a-z\_\-\d]+)([\.?\d]*)\.dylib', _basename)
if match:
print("match: %s" % match.groups()[0])
if is_component:
newpath = u'@executable_path/../Frameworks/lib%s.dylib' % match.groups()[0]
elif is_binary:
newpath = u'@executable_path/../../Frameworks/lib%s.dylib' % match.groups()[0]
else:
newpath = u'@loader_path/lib%s.dylib' % match.groups()[0]
print('install_name_tool -change %s %s %s' % (path, newpath, component))
os.system('install_name_tool -change %s %s %s' % (path, newpath, component))
continue
print('\tUnmatched: %s' % path)
if ('executable_path' in line
or 'libSystem' in line
or ':' in line
or not len(line)
or 'aria2c' in basename):
continue
path, junk = line.strip().split(' (', 1)
# erroneous_links.append(path)
_basename = os.path.basename(path).strip()
if _basename == basename:
continue
# is it a library link?
match = re.match(r'lib([a-z\_\-\d\+]+)([\.?\d]*)\.dylib', _basename)
if match:
print("match: %s" % match.groups()[0])
if 'libstdc++' in line or 'libgcc' in line:
newpath = u'/usr/lib/lib%s%s.dylib' % (match.groups()[0], match.groups()[1])
elif is_component:
# newpath = u'@executable_path/../Frameworks/lib%s.dylib' % match.groups()[0]
newpath = u'@executable_path/lib%s.dylib' % match.groups()[0]
elif is_binary:
# newpath = u'@executable_path/../../Frameworks/lib%s.dylib' % match.groups()[0]
newpath = u'@executable_path/../lib%s.dylib' % match.groups()[0]
else:
newpath = u'@loader_path/lib%s.dylib' % match.groups()[0]
print('install_name_tool -change %s %s %s' % (path, newpath, component))
os.system('install_name_tool -change %s %s %s' % (path, newpath, component))
continue
print('\tUnmatched: %s' % path)

@ -273,8 +273,10 @@ static int accessHandlerCallback(void *cls,
/* Display the content of a ZIM article */
else if (reader != NULL) {
pthread_mutex_lock(&readerLock);
std::string baseUrl;
try {
found = reader->getContentByDecodedUrl(urlStr, content, contentLength, mimeType);
found = reader->getContentByDecodedUrl(urlStr, content, contentLength, mimeType, baseUrl);
if (found) {
if (isVerbose()) {
cout << "Found " << urlStr << endl;
@ -300,6 +302,9 @@ static int accessHandlerCallback(void *cls,
"(href|src)(=[\"|\']{0,1}/)([A-Z|\\-])/");
content = replaceRegex(content, "$1$2" + humanReadableBookId + "/$3/",
"(@import[ ]+)([\"|\']{0,1}/)([A-Z|\\-])/");
content = replaceRegex(content,
"<head><base href=\"/" + humanReadableBookId + baseUrl + "\" />",
"<head>");
} else if (mimeType.find("text/css") != string::npos) {
content = replaceRegex(content, "$1$2" + humanReadableBookId + "/$3/",
"(url|URL)(\\([\"|\']{0,1}/)([A-Z|\\-])/");

Loading…
Cancel
Save