[gimp-macos-build/wip/lukaso/tests] 2.99 changes
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp-macos-build/wip/lukaso/tests] 2.99 changes
- Date: Mon, 27 Sep 2021 09:41:10 +0000 (UTC)
commit 42d8db8d1ec1fb02d47d192336231d3d5031e6d5
Author: Lukas Oberhuber <lukaso gmail com>
Date: Sun Sep 26 17:54:44 2021 +0100
2.99 changes
README.md | 2 +-
package/build299.sh | 163 +++++++
package/gimp-2.99.bundle | 173 ++++++++
package/info-2.99.plist.tmpl | 999 +++++++++++++++++++++++++++++++++++++++++++
package/pygimp.interp | 8 +-
5 files changed, 1340 insertions(+), 5 deletions(-)
---
diff --git a/README.md b/README.md
index 36395f7..bb5bc9a 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@ This repository contains files related to GIMP/macOS build using CircleCI.
## Build process description
-To build GIMP/macOS we are using [fork](https://gitlab.gnome.org/samm-git/gtk-osx/tree/gimp)
+To build GIMP/macOS we are using [fork](https://gitlab.gnome.org/lukaso/gtk-osx/tree/gimp)
of the [gtk-osx](https://gitlab.gnome.org/GNOME/gtk-osx) project (`gimp` branch).
Fork adds modules related to GIMP and some gimp-specific patches to GTK.
Currently build is done using CircleCI.
diff --git a/package/build299.sh b/package/build299.sh
new file mode 100755
index 0000000..97676e1
--- /dev/null
+++ b/package/build299.sh
@@ -0,0 +1,163 @@
+#!/bin/sh
+
+# set -e
+
+if [ -z "${JHBUILD_LIBDIR}" ]
+then
+ echo "JHBUILD_LIBDIR undefined. Are you running inside jhbuild?"
+ exit 2
+fi
+
+printf "Determining GIMP version: "
+
+$(cd ${HOME}/gtk/inst/bin/ && ln -sf gimp-2.99 gimp)
+
+GIMP_VERSION="$(gimp-2.99 --version | sed 's|GNU Image Manipulation Program version ||')"
+# GIMP_VERSION="2.99.6"
+
+echo "$GIMP_VERSION"
+
+cat info-2.99.plist.tmpl | sed "s|%VERSION%|${GIMP_VERSION}|g" > info-2.99.plist
+
+echo "Copying charset.alias"
+cp "/usr/lib/charset.alias" "${HOME}/gtk/inst/lib/"
+echo "Creating bundle"
+gtk-mac-bundler gimp-2.99.bundle
+
+BASEDIR=$(dirname "$0")
+
+# target directory
+PACKAGE_DIR="${HOME}/gimp299-osx-app"
+
+echo "Removing pathnames from the libraries and binaries"
+# fix permission for some libs
+find ${PACKAGE_DIR}/GIMP-2.99.app/Contents/Resources/lib -name '*.dylib' -type f | xargs chmod 755
+# getting list of the files to fix
+FILES=$(
+ find ${PACKAGE_DIR}/GIMP-2.99.app -perm +111 -type f \
+ | xargs file \
+ | grep ' Mach-O '|awk -F ':' '{print $1}'
+)
+OLDPATH="${JHBUILD_LIBDIR}/"
+
+for file in $FILES
+do
+ install_name_tool -id "@rpath/$(basename $file)" $file
+ otool -L $file \
+ | grep "\t$OLDPATH" \
+ | sed "s|${OLDPATH}||" \
+ | awk -v fname="$file" -v old_path="$OLDPATH" '{print "install_name_tool -change "old_path $1"
@rpath/"$1" "fname}' \
+ | bash
+done
+
+if [[ "$1" == "debug" ]]; then
+ echo "Generating debug symbols"
+ find ${PACKAGE_DIR}/GIMP-2.99.app/ -type f -perm +111 \
+ | xargs file \
+ | grep ' Mach-O '|awk -F ':' '{print $1}' \
+ | xargs -n1 dsymutil
+fi
+
+echo "remove @rpath to the libraries"
+find ${PACKAGE_DIR}/GIMP-2.99.app/Contents/Resources/lib/ -mindepth 1 -maxdepth 1 -perm +111 -type f \
+ | xargs file \
+ | grep ' Mach-O '|awk -F ':' '{print $1}' \
+ | xargs -n1 install_name_tool -delete_rpath ${HOME}/gtk/inst/lib
+
+echo "adding @rpath to the binaries"
+find ${PACKAGE_DIR}/GIMP-2.99.app/Contents/MacOS/ -type f -perm +111 \
+ | xargs file \
+ | grep ' Mach-O '|awk -F ':' '{print $1}' \
+ | xargs -n1 install_name_tool -add_rpath @executable_path/../Resources/lib/
+
+echo "adding @rpath to the plugins"
+find ${PACKAGE_DIR}/GIMP-2.99.app/Contents/Resources/lib/gimp/2.0/plug-ins/ -perm +111 -type f \
+ | xargs file \
+ | grep ' Mach-O '|awk -F ':' '{print $1}' \
+ | xargs -n1 install_name_tool -add_rpath @executable_path/../../../
+
+echo "fixing pixmap cache"
+sed -i.old 's|@executable_path/../Resources/lib/||' \
+ ${PACKAGE_DIR}/GIMP-2.99.app/Contents/Resources/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
+
+echo "fixing IMM cache"
+sed -i.old 's|@executable_path/../Resources/lib/||' \
+ ${PACKAGE_DIR}/GIMP-2.99.app/Contents/Resources/etc/gtk-3.0/gtk.immodules
+
+echo "create missing links. should we use wrappers instead?"
+
+pushd ${PACKAGE_DIR}/GIMP-2.99.app/Contents/MacOS
+ ln -s gimp-console-2.99 gimp-console
+ ln -s gimp-debug-tool-2.99 gimp-debug-tool
+ ln -s python python3.9
+popd
+
+echo "copy xdg-email wrapper to the package"
+mkdir -p ${PACKAGE_DIR}/GIMP-2.99.app/Contents/MacOS
+cp xdg-email ${PACKAGE_DIR}/GIMP-2.99.app/Contents/MacOS
+
+echo "copy pygimp.interp to the package"
+mkdir -p ${PACKAGE_DIR}/GIMP-2.99.app/Contents/Resources/lib/gimp/2.99/interpreters
+cp pygimp.interp ${PACKAGE_DIR}/GIMP-2.99.app/Contents/Resources/lib/gimp/2.99/interpreters
+
+echo "Creating pyc files"
+python3.9 -m compileall -q ${PACKAGE_DIR}/GIMP-2.99.app
+
+echo "Signing libs"
+
+if [ -n "${codesign_subject}" ]
+then
+ echo "Signing libraries and plugins"
+ find ${PACKAGE_DIR}/GIMP-2.99.app/Contents/Resources/lib/ -type f -perm +111 \
+ | xargs file \
+ | grep ' Mach-O '|awk -F ':' '{print $1}' \
+ | xargs /usr/bin/codesign -s "${codesign_subject}" \
+ --options runtime \
+ --entitlements ${HOME}/project/package/gimp-hardening.entitlements
+ echo "Signing app"
+ /usr/bin/codesign -s "${codesign_subject}" \
+ --timestamp \
+ --deep \
+ --options runtime \
+ --entitlements ${HOME}/project/package/gimp-hardening.entitlements \
+ ${PACKAGE_DIR}/GIMP-2.99.app
+fi
+
+echo "Building DMG"
+if [ -z "${CIRCLECI}" ]
+then
+ DMGNAME="gimp-${GIMP_VERSION}-x86_64.dmg"
+else
+ DMGNAME="gimp-${GIMP_VERSION}-x86_64-b${CIRCLE_BUILD_NUM}-${CIRCLE_BRANCH////-}.dmg"
+fi
+
+mkdir -p /tmp/artifacts/
+rm -f /tmp/tmp.dmg
+rm -f "/tmp/artifacts/gimp-${GIMP_VERSION}-x86_64.dmg"
+
+cd create-dmg
+
+./create-dmg \
+ --volname "GIMP 2.99 Install" \
+ --background "../gimp-dmg.png" \
+ --window-pos 1 1 \
+ --icon "GIMP-2.99.app" 190 360 \
+ --window-size 640 480 \
+ --icon-size 110 \
+ --icon "Applications" 110 110 \
+ --hide-extension "Applications" \
+ --app-drop-link 450 360 \
+ --format UDBZ \
+ --hdiutil-verbose \
+ "/tmp/artifacts/${DMGNAME}" \
+ "$PACKAGE_DIR/"
+rm -f /tmp/artifacts/rw.*.dmg
+cd ..
+
+if [ -n "${codesign_subject}" ]
+then
+ echo "Signing DMG"
+ /usr/bin/codesign -s "${codesign_subject}" "/tmp/artifacts/${DMGNAME}"
+fi
+
+echo "Done"
diff --git a/package/gimp-2.99.bundle b/package/gimp-2.99.bundle
new file mode 100644
index 0000000..3d054d2
--- /dev/null
+++ b/package/gimp-2.99.bundle
@@ -0,0 +1,173 @@
+<?xml version="1.0" standalone="no"?>
+<!--*- mode: xml -*-->
+<app-bundle>
+ <meta>
+ <!-- Where to pick up the GTK+ installation, icon themes,
+ etc. Note that "${env:JHBUILD_PREFIX}" is evaluated to the
+ value of the environment variable JHBUILD_PREFIX. You can
+ define additional prefixes and refer to them in paths
+ throughout this file on the form "${prefix:name}". This is
+ useful for installing certain libraries or even the
+ eapplication itself separately. Note that JHBUILD_PREFIX is
+ defined by jhbuild, so it you are not using jhbuild you can
+ either define your own or just hardcode the path here.
+ -->
+ <!-- <prefix name="default">${env:JHBUILD_PREFIX}</prefix> -->
+ <prefix name="default">${env:JHBUILD_PREFIX}</prefix>
+ <!-- The project directory is the default location of the created
+ app. If you leave out the path, the current directory is
+ used. Note the usage of an environment variable here again.
+ -->
+ <destination overwrite="yes">${env:HOME}/gimp299-osx-app</destination>
+ <image>
+ <!-- Not implemented yet (DMG image). -->
+ </image>
+ <!-- Comment this out to keep the install names in binaries -->
+ <!-- <run-install-name-tool/> does not work for the gimp -->
+ <!-- Optionally specify a launcher script to use. If the
+ application sets up everything needed itself, like
+ environment variable, linker paths, etc, a launcher script is
+ not needed. If the source path is left out, the default
+ script will be used.
+ -->
+ <!-- <launcher-script>${project}/launcher.sh</launcher-script > -->
+ <!-- <launcher-script>
+ ${project}/launcher-2.10.sh
+ </launcher-script> -->
+ <!-- Not implemented: Optional runtime, could be python or mono
+ for example.
+ -->
+ <!-- <runtime copy="yes">/usr/bin/python</runtime -->
+ <!-- Indicate the active gtk version to use. This is needed only
+ for gtk+-3.0 projects. -->
+ <gtk>gtk+-3.0</gtk>
+ </meta>
+ <!-- We need to pack our own Python to avoid compatibility problems. -->
+ <binary dest="${bundle}/Contents/MacOS">
+ ${prefix}/bin/python3.9
+ </binary>
+ <binary dest="${bundle}/Contents/MacOS">
+ ${prefix}/bin/gegl
+ </binary>
+ <!-- gimp additional binaries -->
+ <binary dest="${bundle}/Contents/MacOS">${prefix}/bin/gimp-console-2.99</binary>
+ <binary dest="${bundle}/Contents/MacOS">${prefix}/bin/gimp-debug-tool-2.0</binary>
+ <binary dest="${bundle}/Contents/MacOS">${prefix}/bin/gimptool-2.0</binary>
+
+ <!-- Copy in Info.plist -->
+ <plist>${project}/info-2.99.plist</plist>
+ <!-- Copy in libpyglib, which will pull in other dependencies we need -->
+ <binary>
+ ${prefix}/lib/libpyglib-2.0-python.0.dylib
+ </binary>
+ <!-- Gtk+ is required by python modules which aren't searched for
+ dependencies, so we have to pull it in explicitly. It will
+ bring Pango and Cairo with it. Note the use of ${gtkversion},
+ which expands to either 2.0 or 3.0, depending on which value of
+ gtk is specified.-->
+ <!-- <binary>
+ ${prefix}/lib/libgtk-quartz-${gtkversion}.0.dylib
+ </binary> -->
+ <binary>
+ ${prefix}/lib/libgtk-quartz-2.0.0.dylib
+ </binary>
+ <binary>
+ ${prefix}/lib/libgegl-sc-0.4.dylib
+</binary>
+ <!-- We have to pull in the python modules, which are mixed python
+ and loadable modules. -->
+
+ <binary recurse="True">
+ ${prefix}/lib/python3.9/*.so
+ </binary>
+ <binary>
+ ${prefix}/lib/gio/modules
+ </binary>
+ <data recurse="True">
+ ${prefix}/lib/python3.9/*.py
+ </data>
+
+ <data>
+ ${prefix}/lib/python3.9/config-3.9-darwin/
+ </data>
+
+ <data>
+ ${prefix}/include/python3.9/pyconfig.h
+ </data>
+
+ <!-- Name of main gimp binary -->
+ <main-binary>${prefix}/bin/gimp-2.99</main-binary>
+ <!-- Copy in gimp plugins -->
+ <binary>${prefix}/lib/gimp/2.99/plug-ins/*</binary>
+ <!-- Copy in gimp modules -->
+ <binary>${prefix}/lib/gimp/2.99/modules/*.so</binary>
+ <!-- Copy in gimp python modules -->
+ <binary>${prefix}/lib/gimp/2.99/python/*.so</binary>
+ <data>${prefix}/lib/gimp/2.99/python/*.py</data>
+ <!-- Copy in GTK+ modules -->
+ <!-- <binary>${prefix}/lib/${gtkdir}/modules/*.so</binary> -->
+ <!-- Copy in babl modules -->
+ <binary>${prefix}/lib/babl-0.1/*.dylib</binary>
+ <!-- Copy in gegl modules -->
+ <binary>${prefix}/lib/gegl-0.4/*.dylib</binary>
+ <!-- Copy in GTK+ themeing engines -->
+ <!-- <binary>${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/engines/*.so</binary> -->
+ <!-- Copy in GTK+ printer backends -->
+ <binary>${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/printbackends/*.so</binary>
+ <!-- Copy in GTK+ immodules -->
+ <binary>${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/immodules/*.so</binary>
+ <!-- Starting with 2.24, gdk-pixbuf installs into its own directory. -->
+ <!-- <binary>${prefix}/lib/gdk-pixbuf-2.0/${pkg:${gtk}:gtk_binary_version}/loaders/*.so</binary> -->
+ <binary>${prefix}/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.so</binary>
+ <binary dest="${bundle}/Contents/MacOS">${prefix}/bin/gdk-pixbuf-query-loaders</binary>
+ <!-- Translation filenames-->
+ <translations name="gtk30">
+ ${prefix}/share/locale
+ </translations>
+ <!-- GTK+2 data -->
+ <data>${prefix}/etc/gtk-3.0/*</data>
+ <!-- Fontconfig data; requires clean up -->
+ <data>
+ ${prefix}/etc/fonts
+ </data>
+ <!-- Gimp data -->
+ <data>${prefix}/etc/gimp/2.99/*</data>
+ <data dest="${bundle}/Contents/Resources/share/gimp">${prefix}/share/gimp</data>
+ <!-- brushes -->
+ <data>${prefix}/share/mypaint-data</data>
+ <!-- Pango data -->
+ <!-- <data>${prefix}/etc/pango/pango.modules</data> -->
+ <!-- XML data -->
+ <data>${prefix}/share/xml/catalog</data>
+ <!-- locale (TODO: trim) -->
+ <data>${prefix}/share/locale</data>
+ <data>${prefix}/lib/charset.alias</data>
+ <!-- Theme data-->
+ <data>${prefix}/share/themes</data>
+ <!-- Theme data-->
+ <data>${prefix}/share/themes</data>
+ <!-- iso codes -->
+ <data>${prefix}/share/xml/iso-codes</data>
+ <!-- libwmf fonts -->
+ <data>${prefix}/share/libwmf</data>
+ <!-- GTK+ theme data -->
+ <!-- <data>${prefix}/share/gtk-engines/*.xml</data> -->
+ <!-- mitch says this will change default theme, didn't work. -->
+ <!-- <data dest="${bundle}/Contents/Resources/etc/${gtkdir}/gtkrc">
+ ${project}/gtkrc
+ </data>
+-->
+ <!-- Interesting defaults -->
+ <!-- <data dest="${bundle}/Contents/Resources/etc/gimp/2.0/gimprc">
+ ${project}/gimprc
+ </data>
+-->
+ <!-- Icons -->
+ <data dest="${bundle}/Contents/Resources">${project}/gimp.icns</data>
+ <data dest="${bundle}/Contents/Resources">${project}/xcf.icns</data>
+
+ <!-- Icon theme, both tango and hicolor are required? -->
+ <icon-theme icons="auto">
+ Tango
+ </icon-theme>
+</app-bundle>
diff --git a/package/info-2.99.plist.tmpl b/package/info-2.99.plist.tmpl
new file mode 100644
index 0000000..61d0274
--- /dev/null
+++ b/package/info-2.99.plist.tmpl
@@ -0,0 +1,999 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleDocumentTypes</key>
+ <array>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>xcf</string>
+ <string>XCF</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeMIMETypes</key>
+ <array>
+ <string>image/x-xcf</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>GIMP Image</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>XCF </string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>org.gimp.xcf</string>
+ </array>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>xcfbz2</string>
+ <string>XCFBZ2</string>
+ <string>xcfgz</string>
+ <string>XCFGZ</string>
+ <string>xjt</string>
+ <string>XJT</string>
+ <string>xjtgz</string>
+ <string>XJTGZ</string>
+ <string>xjtbz2</string>
+ <string>XJTBZ2</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeMIMETypes</key>
+ <array>
+ <string>image/x-compressed-xcf</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>GIMP Compressed Image</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>XJT </string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>org.gimp.xjt</string>
+ </array>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>gbr</string>
+ <string>GBR</string>
+ <string>gbp</string>
+ <string>GBP</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>GIMP Brush</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>GBR </string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>org.gimp.gbr</string>
+ </array>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>gih</string>
+ <string>GIH</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>GIMP Animated Brush</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>GIH </string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>org.gimp.gih</string>
+ </array>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>pat</string>
+ <string>PAT</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>GIMP Pattern</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>PAT </string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>org.gimp.pat</string>
+ </array>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>pdf</string>
+ <string>PDF</string>
+ </array>
+ <key>CFBundleTypeMIMETypes</key>
+ <array>
+ <string>application/pdf</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>NSPDFPboardType</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>PDF </string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>com.adobe.pdf</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVPDFDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>ai</string>
+ <string>AI</string>
+ </array>
+ <key>CFBundleTypeMIMETypes</key>
+ <array>
+ <string>application/pdf</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>NSPDFPboardType</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ <key>LSIsAppleDefaultForType</key>
+ <false/>
+ <key>NSDocumentClass</key>
+ <string>PVPDFDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>ps</string>
+ <string>PS</string>
+ </array>
+ <key>CFBundleTypeMIMETypes</key>
+ <array>
+ <string>application/postscript</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>PostScript document</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>NSDocumentClass</key>
+ <string>PVPDFDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>epi</string>
+ <string>EPI</string>
+ <string>eps</string>
+ <string>EPS</string>
+ <string>epsf</string>
+ <string>EPSF</string>
+ <string>epsi</string>
+ <string>EPSI</string>
+ </array>
+ <key>CFBundleTypeMIMETypes</key>
+ <array>
+ <string>application/postscript</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>PostScript document</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>NSDocumentClass</key>
+ <string>PVPDFDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>tiff</string>
+ <string>TIFF</string>
+ <string>tif</string>
+ <string>TIF</string>
+ </array>
+ <key>CFBundleTypeMIMETypes</key>
+ <array>
+ <string>image/tiff</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>NSTIFFPboardType</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>TIFF</string>
+ <string>****</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>public.tiff</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>XBM</string>
+ <string>xbm</string>
+ <string>icon</string>
+ <string>ICON</string>
+ <string>bitmap</string>
+ <string>BITMAP</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>XBM</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>XBM </string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>bmp</string>
+ <string>BMP</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Windows Bitmap Image</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>BMP </string>
+ <string>BMPf</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>com.microsoft.bmp</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>gif</string>
+ <string>GIF</string>
+ </array>
+ <key>CFBundleTypeMIMETypes</key>
+ <array>
+ <string>image/gif</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Graphics Interchange Format Image</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>GIFf</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>com.compuserve.gif</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>ico</string>
+ <string>ICO</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Windows Icon Image</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>com.microsoft.ico</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>jpg</string>
+ <string>JPG</string>
+ <string>jpeg</string>
+ <string>JPEG</string>
+ <string>jpe</string>
+ <string>JPE</string>
+ <string>thm</string>
+ <string>THM</string>
+ <string>*</string>
+ </array>
+ <key>CFBundleTypeMIMETypes</key>
+ <array>
+ <string>image/jpeg</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>JPEG Image</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>JPEG</string>
+ <string>????</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>public.jpeg</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>pict</string>
+ <string>PICT</string>
+ <string>pct</string>
+ <string>PCT</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>NSPICTPboardType</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>PICT</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>com.apple.pict</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>png</string>
+ <string>PNG</string>
+ </array>
+ <key>CFBundleTypeMIMETypes</key>
+ <array>
+ <string>image/png</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Portable Network Graphics Image</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>PNGf</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>public.png</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>tga</string>
+ <string>TGA</string>
+ <string>vda</string>
+ <string>VDA</string>
+ <string>icb</string>
+ <string>ICB</string>
+ <string>vst</string>
+ <string>VST</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Targa Image</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>TPIC</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>com.truevision.tga-image</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>sgi</string>
+ <string>SGI</string>
+ <string>rgb</string>
+ <string>RGB</string>
+ <string>bw</string>
+ <string>BW</string>
+ <string>icon</string>
+ <string>ICON</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Silicon Graphics Image</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>.SGI</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>com.sgi.sgi-image</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>psd</string>
+ <string>PSD</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Adobe Photoshop Image</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>8BPS</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <false/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>com.adobe.photoshop-image</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>icns</string>
+ <string>ICNS</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Apple Icon Image</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>com.apple.icns</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>jp2</string>
+ <string>JP2</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>JPEG 2000 Image</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>LSIsAppleDefaultForType</key>
+ <true/>
+ <key>LSItemContentTypes</key>
+ <array>
+ <string>public.jpeg-2000</string>
+ </array>
+ <key>NSDocumentClass</key>
+ <string>PVDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>svg</string>
+ </array>
+ <key>CFBundleTypeMIMETypes</key>
+ <array>
+ <string>image/svg+xml</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>SVG document</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ <key>NSDocumentClass</key>
+ <string>BrowserDocument</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>sun</string>
+ <string>sr</string>
+ <string>im1</string>
+ <string>im8</string>
+ <string>im24</string>
+ <string>im32</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>Sun Rasterfile document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>SUNn</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>fli</string>
+ <string>flc</string>
+ <string>flh</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>FLI/FLC/FLH document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>FLI </string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>xwd</string>
+ <string>x10</string>
+ <string>x11</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>X/Windows Dump document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>XWDd</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>wmf</string>
+ <string>apm</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>Windows Metafile document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>WMF </string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>pix</string>
+ <string>mask</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>ALIAS pix document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>APIX</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>pnm</string>
+ <string>pbm</string>
+ <string>pgm</string>
+ <string>ppm</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>Portable Bitmap document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>PPGM</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>psp</string>
+ <string>tub</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>Paintshop Pro document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>.PSP</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>pcx</string>
+ <string>pcc</string>
+ <string>scr</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>Paintbrush document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>PCXx</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>fax</string>
+ <string>g3</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>CCITT3 native fax document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>FAX3</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>xpm</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>XPM (ASCII Bitmap) document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>XPM </string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>cel</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>KISS CEL document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>CEL </string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>fits</string>
+ <string>fit</string>
+ <string>fts</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>Flexible Image Transport System document</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>FITS</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>desktop</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>Desktop Alias</string>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>dcm</string>
+ <string>DCM</string>
+ <string>dicom</string>
+ <string>DICOM</string>
+ </array>
+ <key>CFBundleTypeIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleTypeName</key>
+ <string>DICOM Image</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>DCOM</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ </dict>
+ </array>
+ <key>CFBundleExecutable</key>
+ <string>gimp</string>
+ <key>CFBundleGetInfoString</key>
+ <string>2.99, © 2001-2021 The GIMP Team</string>
+ <key>CFBundleIconFile</key>
+ <string>gimp.icns</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.gimp.gimp-2.99:</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>GIMP-2.99</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>%VERSION%</string>
+ <key>CFBundleSignature</key>
+ <string>GIMP</string>
+ <key>CFBundleVersion</key>
+ <string>%VERSION%</string>
+ <key>NSHumanReadableCopyright</key>
+ <string>© 2001-2021 The GIMP Team</string>
+ <key>NSHighResolutionCapable</key>
+ <true/>
+ <key>NSRequiresAquaSystemAppearance</key>
+ <true/>
+ <key>UTExportedTypeDeclarations</key>
+ <array>
+ <dict>
+ <key>UTTypeConformsTo</key>
+ <array>
+ <string>public.data</string>
+ <string>public.image</string>
+ </array>
+ <key>UTTypeDescription</key>
+ <string>Gimp Image</string>
+ <key>UTTypeIconFile</key>
+ <string>xcf.icns</string>
+ <key>UTTypeIdentifier</key>
+ <string>org.gimp.xcf</string>
+ <key>UTTypeReferenceURL</key>
+ <string>http://www.gimp.org/</string>
+ <key>UTTypeTagSpecification</key>
+ <dict>
+ <key>com.apple.ostype</key>
+ <string>XCF </string>
+ <key>public.filename-extension</key>
+ <array>
+ <string>xcf</string>
+ <string>XCF</string>
+ </array>
+ <key>public.mime-type</key>
+ <array>
+ <string>image/x-xcf</string>
+ </array>
+ </dict>
+ </dict>
+ <dict>
+ <key>UTTypeConformsTo</key>
+ <array>
+ <string>public.data</string>
+ <string>public.image</string>
+ <string>public.archive</string>
+ </array>
+ <key>UTTypeDescription</key>
+ <string>Gimp Compressed Image</string>
+ <key>UTTypeIconFile</key>
+ <string>xcf.icns</string>
+ <key>UTTypeIdentifier</key>
+ <string>org.gimp.xjt</string>
+ <key>UTTypeReferenceURL</key>
+ <string>http://www.gimp.org/</string>
+ <key>UTTypeTagSpecification</key>
+ <dict>
+ <key>com.apple.ostype</key>
+ <string>XJT </string>
+ <key>public.filename-extension</key>
+ <array>
+ <string>xcf.bz2</string>
+ <string>XCF.BZ2</string>
+ <string>xcfbz2</string>
+ <string>XCFBZ2</string>
+ <string>xcf.gz</string>
+ <string>XCF.GZ</string>
+ <string>xcfgz</string>
+ <string>XCFGZ</string>
+ <string>xjt</string>
+ <string>XJT</string>
+ <string>xjtgz</string>
+ <string>XJTGZ</string>
+ <string>xjtbz2</string>
+ <string>XJTBZ2</string>
+ </array>
+ <key>public.mime-type</key>
+ <array>
+ <string>image/x-compressed-xcf</string>
+ </array>
+ </dict>
+ </dict>
+ <dict>
+ <key>UTTypeConformsTo</key>
+ <array>
+ <string>public.data</string>
+ <string>public.image</string>
+ </array>
+ <key>UTTypeDescription</key>
+ <string>Gimp Brush</string>
+ <key>UTTypeIconFile</key>
+ <string>xcf.icns</string>
+ <key>UTTypeIdentifier</key>
+ <string>org.gimp.xbr</string>
+ <key>UTTypeReferenceURL</key>
+ <string>http://www.gimp.org/</string>
+ <key>UTTypeTagSpecification</key>
+ <dict>
+ <key>com.apple.ostype</key>
+ <string>GBR </string>
+ <key>public.filename-extension</key>
+ <array>
+ <string>gbr</string>
+ <string>GBR</string>
+ <string>gbp</string>
+ <string>GBP</string>
+ </array>
+ </dict>
+ </dict>
+ <dict>
+ <key>UTTypeConformsTo</key>
+ <array>
+ <string>public.data</string>
+ <string>public.image</string>
+ </array>
+ <key>UTTypeDescription</key>
+ <string>Gimp Animated Brush</string>
+ <key>UTTypeIconFile</key>
+ <string>xcf.icns</string>
+ <key>UTTypeIdentifier</key>
+ <string>org.gimp.gih</string>
+ <key>UTTypeReferenceURL</key>
+ <string>http://www.gimp.org/</string>
+ <key>UTTypeTagSpecification</key>
+ <dict>
+ <key>com.apple.ostype</key>
+ <string>GIH </string>
+ <key>public.filename-extension</key>
+ <array>
+ <string>gih</string>
+ <string>GIH</string>
+ </array>
+ </dict>
+ </dict>
+ <dict>
+ <key>UTTypeConformsTo</key>
+ <array>
+ <string>public.data</string>
+ <string>public.image</string>
+ </array>
+ <key>UTTypeDescription</key>
+ <string>Gimp Pattern</string>
+ <key>UTTypeIconFile</key>
+ <string>xcf.icns</string>
+ <key>UTTypeIdentifier</key>
+ <string>org.gimp.pat</string>
+ <key>UTTypeReferenceURL</key>
+ <string>http://www.gimp.org/</string>
+ <key>UTTypeTagSpecification</key>
+ <dict>
+ <key>com.apple.ostype</key>
+ <string>PAT </string>
+ <key>public.filename-extension</key>
+ <array>
+ <string>pat</string>
+ <string>PAT</string>
+ </array>
+ </dict>
+ </dict>
+ </array>
+ </dict>
+</plist>
diff --git a/package/pygimp.interp b/package/pygimp.interp
index 19985e2..5c821d1 100644
--- a/package/pygimp.interp
+++ b/package/pygimp.interp
@@ -1,4 +1,4 @@
-python=python2
-python2=python2
-/usr/bin/python=python2
-:Python:E::py::python2:
+python=python3.9
+python3=python3.9
+/usr/bin/python=python3
+:Python:E::py::python3:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]