@@ -48,6 +48,9 @@ show_usage () {
4848 echo " Provide extra configuration flags for the Python build. Note"
4949 echo " that the install prefix will be overwritten"
5050 echo " "
51+ echo " PYTHON_ENTRYPOINT=\" ${PYTHON_ENTRYPOINT} \" "
52+ echo " Extra options when calling the python executable"
53+ echo " "
5154 echo " PYTHON_SOURCE=\" ${PYTHON_SOURCE} \" "
5255 echo " The source to use for Python. Can be a directory, an url or/and"
5356 echo " an archive"
122125
123126prefix=" usr/python"
124127cd " ${source_dir} "
125- ./configure ${PYTHON_CONFIG} " --with-ensurepip=install" " --prefix=/${prefix} "
128+ ./configure ${PYTHON_CONFIG} " --with-ensurepip=install" " --prefix=/${prefix} " LDFLAGS= " ${LDFLAGS} -Wl,-rpath=' " ' $$ORIGIN ' " /../../lib' "
126129HOME=" ${PYTHON_BUILD_DIR} " make -j" $NPROC " DESTDIR=" $APPDIR " install
127130
128131
@@ -194,11 +197,16 @@ patch_binary() {
194197 local name=" $( basename $1 ) "
195198
196199 if [ " ${name:: 3} " == " lib" ]; then
197- if [ ! -f " ${APPDIR} /usr/lib/${name} " ]; then
200+ if [ ! -f " ${APPDIR} /usr/lib/${name} " ] && [ ! -L " ${APPDIR} /usr/lib/ ${name} " ] ; then
198201 echo " Patching dependency ${name} "
199202 strip " $1 "
200203 " ${patchelf} " --set-rpath ' $ORIGIN' " $1 "
201- ln -rs " $1 " " ${APPDIR} /usr/lib"
204+ if [ " $( command -v symlinks) " ]; then
205+ ln -s " $1 " " ${APPDIR} /usr/lib/${name} "
206+ symlinks -c " ${APPDIR} /usr/lib/${name} "
207+ else
208+ ln -rs " $1 " " ${APPDIR} /usr/lib"
209+ fi
202210 fi
203211 else
204212 echo " Patching C-extension module ${name} "
@@ -238,7 +246,16 @@ find "site-packages" -name 'lib*.so*' -type f | while read file; do patch_binary
238246
239247
240248# Copy any TCl/Tk shared data
241- if [[ -d " /usr/share/tcltk" ]] && [[ ! -d " ${APPDIR} /${prefix} /share/tcltk" ]]; then
242- mkdir -p " ${APPDIR} /${prefix} /share"
243- cp -r " /usr/share/tcltk" " ${APPDIR} /${prefix} /share"
249+ if [[ ! -d " ${APPDIR} /${prefix} /share/tcltk" ]]; then
250+ if [[ -d " /usr/share/tcltk" ]]; then
251+ mkdir -p " ${APPDIR} /${prefix} /share"
252+ cp -r " /usr/share/tcltk" " ${APPDIR} /${prefix} /share"
253+ else
254+ mkdir -p " ${APPDIR} /${prefix} /share/tcltk"
255+ tclpath=" $( ls -d /usr/share/tcl* | tail -1) "
256+ tkpath=" $( ls -d /usr/share/tk* | tail -1) "
257+ for path in " ${tclpath} " " ${tkpath} " ; do
258+ cp -r " ${path} " " ${APPDIR} /${prefix} /share/tcltk"
259+ done
260+ fi
244261fi
0 commit comments