Skip to content
Snippets Groups Projects
Commit 7b7addc6 authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

Fixed script bornagain_pyton_install to address recent changes in OS X package structure

parent aa5e613c
Branches
Tags
No related merge requests found
...@@ -51,7 +51,7 @@ def qtplugins_path(): ...@@ -51,7 +51,7 @@ def qtplugins_path():
def bornagain_binaries(): def bornagain_binaries():
result = glob.glob(os.path.join(bundle_dir(), "Contents","lib","BornAgain-*","*")) result = glob.glob(os.path.join(bundle_dir(), "Contents", "lib", "BornAgain-*", "*"))
result.append(bundle_main_executable()) result.append(bundle_main_executable())
return result return result
......
...@@ -122,7 +122,7 @@ from setuptools import setup ...@@ -122,7 +122,7 @@ from setuptools import setup
datadir = os.path.join('bornagain', 'lib','BornAgain-{0}') datadir = os.path.join('bornagain', 'lib','BornAgain-{0}')
datafiles = [(datadir, [f for f in glob.glob(os.path.join(datadir, '*'))])] datafiles = [(datadir, [f for f in glob.glob(os.path.join(datadir, '*'))])]
datadir = os.path.join('bornagain', 'lib','ThirdParty') datadir = os.path.join('bornagain', 'lib','Frameworks')
datafiles += [(datadir, [f for f in glob.glob(os.path.join(datadir, '*'))])] datafiles += [(datadir, [f for f in glob.glob(os.path.join(datadir, '*'))])]
setup(name='bornagain', setup(name='bornagain',
...@@ -179,12 +179,11 @@ def copy_libraries(app_dir, destination_dir): ...@@ -179,12 +179,11 @@ def copy_libraries(app_dir, destination_dir):
Copy libraries from BornAgain.app into corresponding BornAgain Python package directory Copy libraries from BornAgain.app into corresponding BornAgain Python package directory
""" """
print "--> Copying libraries from '{0}'".format(app_dir) print "--> Copying libraries from '{0}'".format(app_dir)
source_dir = os.path.join(app_dir, "Contents", "lib") app_bornagainlib_dir = os.path.join(app_dir, "Contents", "lib", "BornAgain-"+BORNAGAIN_VERSION)
app_bornagainlib_dir = os.path.join(source_dir, "BornAgain-"+BORNAGAIN_VERSION) app_frameworks_dir = os.path.join(app_dir, "Contents", "Frameworks")
app_thirdpartylib_dir = os.path.join(source_dir, "ThirdParty")
# copying BornAgain libraries
shutil.copytree(app_bornagainlib_dir, os.path.join(destination_dir, "BornAgain-"+BORNAGAIN_VERSION)) shutil.copytree(app_bornagainlib_dir, os.path.join(destination_dir, "BornAgain-"+BORNAGAIN_VERSION))
shutil.copytree(app_thirdpartylib_dir, os.path.join(destination_dir, "ThirdParty"))
# cleaning unnecessary files # cleaning unnecessary files
libfiles = glob.glob(os.path.join(destination_dir, '*/libBornAgainGUI*')) libfiles = glob.glob(os.path.join(destination_dir, '*/libBornAgainGUI*'))
...@@ -192,17 +191,30 @@ def copy_libraries(app_dir, destination_dir): ...@@ -192,17 +191,30 @@ def copy_libraries(app_dir, destination_dir):
os.remove(f) os.remove(f)
pass pass
# copying libraries from Frameworks
frameworks_libs = glob.glob(os.path.join(app_frameworks_dir, 'lib*'))
frameworks_dest = os.path.join(destination_dir, "Frameworks")
if not os.path.exists(frameworks_dest):
os.makedirs(frameworks_dest)
for lib in frameworks_libs:
shutil.copyfile(lib, os.path.join(frameworks_dest, os.path.basename(lib)))
def patch_libraries(dir_name): def patch_libraries(dir_name):
""" """
Patches libraries depending on Python to point on the same shared libpython2.7.dylib which current interpreter is using Patches libraries depending on Python to point on the same shared libpython2.7.dylib which current interpreter is using
""" """
print "--> Patching libraries to rely on '{0}'".format(get_python_shared_library()) print "--> Patching libraries to rely on '{0}'".format(get_python_shared_library())
#libfiles = [(dir_name, [f for f in glob.glob(os.path.join(dir_name, '*/libBornAgainCore*'))])]
libfiles = glob.glob(os.path.join(dir_name, '*/libBornAgain*')) libfiles = glob.glob(os.path.join(dir_name, '*/libBornAgain*'))
for f in libfiles:
cmd = "install_name_tool -delete_rpath @loader_path/../../Frameworks " + f
cmd = "install_name_tool -add_rpath @loader_path/../Frameworks " + f
run_command(cmd)
libfiles += glob.glob(os.path.join(dir_name, '*/libboost_python*')) libfiles += glob.glob(os.path.join(dir_name, '*/libboost_python*'))
for f in libfiles: for f in libfiles:
cmd = "install_name_tool -change @rpath/libpython2.7.dylib " + get_python_shared_library() + " " + f # cmd = "install_name_tool -change @rpath/libpython2.7.dylib " + get_python_shared_library() + " " + f
cmd = "install_name_tool -change @rpath/Python.framework/Versions/2.7/Python " + get_python_shared_library() + " " + f
run_command(cmd) run_command(cmd)
pass pass
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment