Branch: refs/heads/master Author: Jiří Techet techet@gmail.com Committer: Jiří Techet techet@gmail.com Date: Sat, 02 Nov 2019 17:55:39 UTC Commit: cd22945b7cc836f390f9731052e2ba1df22fb8b6 https://github.com/geany/geany-osx/commit/cd22945b7cc836f390f9731052e2ba1df2...
Log Message: ----------- Remove GTK2 stuff
Modified Paths: -------------- .gitignore COPYING Launcher/geany/geany.xcodeproj/project.pbxproj Launcher/geany/geany.xcodeproj/project.xcworkspace/contents.xcworkspacedata Launcher/geany/geany.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist Launcher/geany/geany/main.m README.md geany-gtk2.bundle geany.bundle geany.modules launcher-gtk2.sh launcher-gtk3.sh patches/01-vte_0.28_fix.patch patches/02-vte_0.28_relpath.patch
Modified: .gitignore 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -1,4 +1,4 @@ Geany*.app Geany*.dmg -LauncherGtk3/geany/build/ +Launcher/geany/build/ xcuserdata/
Modified: COPYING 10 lines changed, 1 insertions(+), 9 deletions(-) =================================================================== @@ -1,19 +1,11 @@ geany-osx contains parts from other projects which are licensed under their original licenses:
-Faience icon theme: - GPLv3 - https://www.deviantart.com/tiheum/art/Faience-icon-theme-255099649 - Papirus icon theme: LGPLv3 https://github.com/PapirusDevelopmentTeam/papirus-icon-theme
-Greybird GTK2 theme: - dual-licensed as GPLv2 or later and CC-BY-SA 3.0 or later - https://github.com/shimmerproject/Greybird - -Mojave GTK3 Theme: +Mojave GTK Theme: GPLv2 https://github.com/vinceliuice/Mojave-gtk-theme
Modified: Launcher/geany/geany.xcodeproj/project.pbxproj 0 lines changed, 0 insertions(+), 0 deletions(-) =================================================================== No diff available, check online
Modified: Launcher/geany/geany.xcodeproj/project.xcworkspace/contents.xcworkspacedata 0 lines changed, 0 insertions(+), 0 deletions(-) =================================================================== No diff available, check online
Modified: Launcher/geany/geany.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist 0 lines changed, 0 insertions(+), 0 deletions(-) =================================================================== No diff available, check online
Modified: Launcher/geany/geany/main.m 0 lines changed, 0 insertions(+), 0 deletions(-) =================================================================== No diff available, check online
Modified: README.md 101 lines changed, 34 insertions(+), 67 deletions(-) =================================================================== @@ -15,34 +15,26 @@ Files and Directories A brief description of the contents of the project directory:
### Directories -* *Faience*: Faience GTK 2 icon theme combined with Faenza-Cupertino - icon theme (for better folder icons) and with lots of unneeded icons - removed to save space. * *Papirus*: Papirus GTK 3 icon theme with lots of unneeded icons removed to save space. -* *Greybird*: Greybird GTK 2 theme which has been modified to look more - like Mac OS. * *Mojave-light-solid*: Mojave GTK 3 Theme * *iconbuilder.iconset*: contains source icons for the Geany.icns file. Not needed for normal build, present just in case the icns file needs to be recreated for some reason. -* *patches*: patches fixing VTE under Mac OS and enabling VTE bundling. -* *LauncherGtk3*: A binary launcher which is used to set up environment +* *patches*: various patches fixing dependencies to enable bundling. +* *Launcher*: A binary launcher which is used to set up environment variables to run Geany.
### Configuration files * *geany.modules*: JHBuild modules file with Geany dependencies. -* *geany-gtk2.bundle, geany-gtk3.bundle*: configuration files describing - the contents of the app bundle. +* *geany.bundle*: configuration file describing the contents of the app bundle. * *Info.plist*: Mac OS application configuration file containing some basic information such as application name, version, etc. but also additional configuration including file types the application can open. * *Geany.icns*: Mac OS Geany icon file. -* *settings.ini*: theme configuration file for GTK 3. +* *settings.ini*: default theme configuration file for GTK 3.
### Scripts -* *launcher-gtk2.sh, launcher-gtk3.sh*: launcher script from the - gtk-mac-bundler project setting all the necessary environment variables. * *plist_filetypes.py*: script generating the file type portion of the Info.plist file from Geany's filetype_extensions.conf configuration file. @@ -105,55 +97,37 @@ To create the bundle, you need to first install JHBuild and GTK as described bel 5. By default, jhbuild compiles without optimization flags. To enable optimization, add `setup_release()` at the end of `~/.jhbuildrc-custom`.
-6. Install GTK and all of its dependencies by running one of the following - commands: - * **GTK 2** - ``` - jhbuild bootstrap-gtk-osx && jhbuild build meta-gtk-osx-freetype meta-gtk-osx-bootstrap meta-gtk-osx-core - ``` - * **GTK 3** - ``` - jhbuild bootstrap-gtk-osx && jhbuild build meta-gtk-osx-freetype meta-gtk-osx-bootstrap meta-gtk-osx-gtk3 - ``` - This is the moment when you have to make a decision whether to build - Geany with GTK 2 or GTK 3 - they cannot be installed side by side. +6. Install GTK and all of its dependencies by running the following + command: + ``` + jhbuild bootstrap-gtk-osx && jhbuild build meta-gtk-osx-freetype meta-gtk-osx-bootstrap meta-gtk-osx-gtk3 + ```
Geany Installation ------------------ 1. Docutils will fail if you do not set the following environment variables: - ``` export LC_ALL=en_US.UTF-8; export LANG=en_US.UTF-8; export PYTHON=python3 ```
-2. To build Geany, plugins and all of their dependencies, run one of +2. To build Geany, plugins and all of their dependencies, run one of the following commands inside the `geany-osx` directory depending on - the GTK version used and whether to use Geany sources from the latest - release tarball or current git master: - * **GTK 2** - * **Geany from release tarball** - ``` - jhbuild -m `pwd`/geany.modules build geany-bundle-release-gtk2 - ``` - * **Geany from git master** - ``` - jhbuild -m `pwd`/geany.modules build geany-bundle-git-gtk2 - ``` - * **GTK 3** - * **Geany from release tarball** - ``` - jhbuild -m `pwd`/geany.modules build geany-bundle-release-gtk3 - ``` - * **Geany from git master** - ``` - jhbuild -m `pwd`/geany.modules build geany-bundle-git-gtk3 - ``` + whether to use Geany sources from the latest release tarball or current + git master: + * **Geany from release tarball** + ``` + jhbuild -m `pwd`/geany.modules build geany-bundle-release + ``` + * **Geany from git master** + ``` + jhbuild -m `pwd`/geany.modules build geany-bundle-git + ```
Bundling -------- -1. To build the GTK3 binary launcher, run +1. To build the binary launcher, run ``` - xcodebuild -project LauncherGtk3/geany/geany.xcodeproj + xcodebuild -project Launcher/geany/geany.xcodeproj ``` 2. Run
@@ -172,35 +146,28 @@ Bundling
4. Inside the `geany-osx` directory run the following command to create the app bundle. - * **GTK 2** - ``` - ~/.local/bin/gtk-mac-bundler geany-gtk2.bundle - ``` - * **GTK 3** - ``` - ~/.local/bin/gtk-mac-bundler geany-gtk3.bundle - ``` + ``` + ~/.local/bin/gtk-mac-bundler geany.bundle + ```
5. Go to the `geany-osx` directory and copy the icon theme to the bundle: - * **GTK 2** - ``` - cp -R Faience ./Geany.app/Contents/Resources/share/icons - ``` - * **GTK 3** - ``` - cp -R Papirus Papirus-Dark ./Geany.app/Contents/Resources/share/icons - ``` + ``` + cp -R Papirus Papirus-Dark ./Geany.app/Contents/Resources/share/icons + ```
-6. Optionally if you have a development account at Apple and want to sign the +6. Optionally, if you have a development account at Apple and want to sign the resulting bundle so it can be started without warning dialogs, use
``` export SIGN_CERTIFICATE="your certificate name" ```
The certificate should be installed in your login keychain. You can get the - certificate name by running `security find-identity -p codesigning` and - checking for "Developer ID Application" - the whole name in apostrophes is + certificate name by running + ``` + security find-identity -p codesigning + ``` + and checking for "Developer ID Application" - the whole name in apostrophes is the certificate name.
Then, run
Modified: geany-gtk2.bundle 194 lines changed, 0 insertions(+), 194 deletions(-) =================================================================== @@ -1,194 +0,0 @@ -<?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 - application 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> - - <!-- 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">${project}</destination> - - <image> - <!-- Not implemented yet (DMG image). --> - </image> - - <!-- Comment this out to keep the install names in binaries --> - <run-install-name-tool/> - - <!-- 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-gtk2.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+-2.0</gtk> - </meta> - - <!-- The special macro "${project}" refers to the directory where - this bundle file is located. The application name and bundle - identifier are taken from the plist file. - --> - <plist>${project}/Info.plist</plist> - - <main-binary>${prefix}/bin/geany</main-binary> - - <!-- Copy in GTK+ modules. Note the ${gtkdir} macro, which expands - to the correct library subdirectory for the specified gtk - version. - --> - <binary> - ${prefix}/lib/${gtkdir}/modules/*.so - </binary> - - <!-- Copy in GTK+ theme engines and print backends. Note the use of the - "${pkg:module:variable}" macro, which evaluates to a pkg-config - variable in the specified module. Note that any libraries that - binaries link to are also copied in automatically. Note also - the included ${gtk} macro, which gets the correct package name - to get. --> - <binary> - ${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/engines/*.so - </binary> - - <binary> - ${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/printbackends/*.so - </binary> - - <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> - - <!-- VTE library --> - <binary> - ${prefix}/lib/libvte.9.dylib - </binary> - <binary dest="${bundle}/Contents/Resources/libexec/gnome-pty-helper"> - ${prefix}/libexec/gnome-pty-helper - </binary> - - <!-- libenchant modules needed by the spellchecker plugin --> - <binary> - ${prefix}/lib/enchant/*.so - </binary> - - <!-- Geany's plugins --> - <binary> - ${prefix}/lib/geany/*.so - </binary> - - <!-- Translation filenames, one for each program or library that you - want to copy in to the bundle. The "dest" attribute is - optional, as usual. Bundler will find all translations of that - library/program under the indicated directory and copy them.--> - <translations name="gtk20"> - ${prefix}/share/locale - </translations> - <translations name="vte-0.0"> - ${prefix}/share/locale - </translations> - <translations name="geany"> - ${prefix}/share/locale - </translations> - <translations name="geany-plugins"> - ${prefix}/share/locale - </translations> - - - <!-- Data to copy in, usually Glade/UI files, images, sounds files - etc. The destination inside the bundle can be specified if the - files should end up at a different location, by using the - "dest" property. The destination must then start with the macro - "${bundle}", which refers to the bundle root directory. - --> - - <!-- Geany's data files; glade, fildefs, default tags, etc. --> - <data> - ${prefix}/share/geany - </data> - <!-- Geany plugin's data files --> - <data> - ${prefix}/share/geany-plugins - </data> - <!-- Geany documentation --> - <data> - ${prefix}/share/doc/geany - </data> - <!-- Geany plugin documentation --> - <data> - ${prefix}/share/doc/geany-plugins - </data> - <!-- VTE config --> - <data> - ${prefix}/share/vte - </data> - <!-- mime data --> - <data> - ${prefix}/share/mime - </data> - - <!-- Copy in the themes data. You may want to trim this to save space - in your bundle. --> - - <!-- This theme contains the right key mappings for OS X --> - <data> - ${prefix}/share/themes/Mac - </data> - - <!-- Copy icons. Note that the .icns file is an Apple format which - contains up to 4 sizes of icon. You can use - /Developer/Applications/Utilities/Icon Composer.app to import - artwork and create the file. --> - <data dest="${bundle}/Contents/Resources"> - ${project}/Geany.icns - </data> - - <!-- This is where theme commands go. You can copy them in from your - theme of choice if they provide and example, or you can just - change the source path. --> - - <!-- Main gtkrc --> - <data dest="${bundle}/Contents/Resources/etc/${gtkdir}/gtkrc"> - ${project}/Greybird/gtkrc - </data> - <!-- The theme --> - <data dest="${bundle}/Contents/Resources/etc/${gtkdir}/gtkrc.theme"> - ${project}/Greybird/gtkrc.theme - </data> - <!-- Custom (better looking) close button --> - <data dest="${bundle}/Contents/Resources/etc/${gtkdir}/close.png"> - ${project}/Greybird/close.png - </data> - - <!-- gtk-mac-bundler doesn't copy symlinks of icon themes so let's - just do the copy manually after the bundle is created - <data dest="${bundle}/Contents/Resources/share/icons/Faience"> - ${project}/Faience - </data> - --> - -</app-bundle>
Modified: geany.bundle 0 lines changed, 0 insertions(+), 0 deletions(-) =================================================================== No diff available, check online
Modified: geany.modules 141 lines changed, 19 insertions(+), 122 deletions(-) =================================================================== @@ -38,19 +38,6 @@ version="10.33"/> </autotools>
- <!-- The last version which works with GTK 2 --> - <autotools id="vte28" - autogenargs="--disable-Bsymbolic" - autogen-sh="configure"> - <branch module="vte/0.28/vte-${version}.tar.xz" - version="0.28.2"> - <!-- Fix for draw --> - <patch file="https://github.com/geany/geany-osx/raw/master/patches/01-vte_0.28_fix.patch" strip="1" /> - <!-- Make paths relative to bundle (fallback to system paths if not found) --> - <patch file="https://github.com/geany/geany-osx/raw/master/patches/02-vte_0.28_relpath.patch" strip="1" /> - </branch> - </autotools> - <meson id="vte291" mesonargs="-Dgnutls=false -Dvapi=false -D_b_symbolic_functions=false"> <branch module="vte/0.58/vte-${version}.tar.xz" version="0.58.2"> @@ -64,13 +51,6 @@ </dependencies> </meson>
- <!-- Needed by the used GTK 2 theme --> - <autotools id="murrine-engine" - autogen-sh="configure"> - <branch module="murrine/0.98/murrine-${version}.tar.xz" - version="0.98.2"/> - </autotools> - <!-- Used by the git-changebar plugin --> <cmake id="libgit2" cmakeargs="-DCMAKE_INSTALL_NAME_DIR=${PREFIX}/lib"> @@ -101,19 +81,7 @@ module="gtk-mac-bundler"/> </autotools>
- <metamodule id="geany-deps-gtk2"> - <dependencies> - <dep package="vte28" /> - <dep package="docutils" /> - <dep package="murrine-engine" /> - <dep package="gtk-mac-bundler" /> - <dep package="gtk-mac-integration-fixed" /> - <!-- mime information for g_content_type_guess() --> - <dep package="shared-mime-info" /> - </dependencies> - </metamodule> - - <metamodule id="geany-deps-gtk3"> + <metamodule id="geany-deps"> <dependencies> <dep package="vte291" /> <dep package="docutils" /> @@ -125,44 +93,20 @@ </dependencies> </metamodule>
- <!-- Geany GTK 2 from git master --> - <autotools id="geany-git-gtk2" - autogenargs="--enable-mac-integration"> - <branch repo="github.com" - module="geany/geany.git" - checkoutdir="geany-git" - revision="master" /> - <dependencies> - <dep package="geany-deps-gtk2" /> - </dependencies> - </autotools> - - <!-- Geany GTK 3 from git master --> - <autotools id="geany-git-gtk3" + <!-- Geany from git master --> + <autotools id="geany-git" autogenargs="--enable-mac-integration --enable-gtk3"> <branch repo="github.com" module="geany/geany.git" checkoutdir="geany-git" revision="master" /> <dependencies> - <dep package="geany-deps-gtk3" /> - </dependencies> - </autotools> - - <!-- Geany GTK 2 tarball release --> - <autotools id="geany-release-gtk2" - autogenargs="--enable-mac-integration"> - <branch repo="download.geany.org" - module="geany-${version}.tar.bz2" - checkoutdir="geany-${version}" - version="1.36"/> - <dependencies> - <dep package="geany-deps-gtk2" /> + <dep package="geany-deps" /> </dependencies> </autotools>
- <!-- Geany GTK 3 tarball release --> - <autotools id="geany-release-gtk3" + <!-- Geany tarball release --> + <autotools id="geany-release" autogenargs="--enable-mac-integration --enable-gtk3"> <branch repo="download.geany.org" module="geany-${version}.tar.bz2" @@ -174,34 +118,13 @@ <patch file="https://github.com/geany/geany-osx/raw/master/patches/02-geany_scintilla_im_fix.patch" strip="1" /> </branch> <dependencies> - <dep package="geany-deps-gtk3" /> + <dep package="geany-deps" /> </dependencies> </autotools>
- <!-- Geany-plugins dependencies GTK 2 --> - <metamodule id="geany-plugins-deps"> - <dependencies> - <dep package="vala" /> - <dep package="libgit2" /> - <dep package="enchant" /> - </dependencies> - </metamodule> - - <!-- Geany-plugins GTK 2 from git master --> - <autotools id="geany-plugins-git-gtk2"> - <branch repo="github.com" - module="geany/geany-plugins.git" - checkoutdir="geany-plugins-git" - revision="master" /> - <dependencies> - <dep package="geany-git-gtk2" /> - <dep package="geany-plugins-deps" /> - </dependencies> - </autotools> - - <!-- Geany-plugins GTK 3 from git master --> + <!-- Geany-plugins from git master --> <!-- TODO: remove supports-non-srcdir-builds when fixed --> - <autotools id="geany-plugins-git-gtk3" + <autotools id="geany-plugins-git" supports-non-srcdir-builds="no"> <branch repo="github.com" module="geany/geany-plugins.git" @@ -213,62 +136,36 @@ <patch file="https://github.com/geany/geany-osx/raw/master/patches/02-geany_scintilla_im_fix.patch" strip="1" /> </branch> <dependencies> - <dep package="geany-git-gtk3" /> - <dep package="geany-plugins-deps" /> - </dependencies> - </autotools> - - <!-- Geany-plugins GTK 2 tarball release --> - <autotools id="geany-plugins-release-gtk2"> - <branch repo="download.geany.org" - module="geany-plugins/geany-plugins-${version}.tar.bz2" - checkoutdir="geany-plugins-${version}" - version="1.36"/> - <dependencies> - <dep package="geany-release-gtk2" /> + <dep package="geany-git" /> <dep package="geany-plugins-deps" /> </dependencies> </autotools>
- <!-- Geany-plugins GTK 3 tarball release --> + <!-- Geany-plugins tarball release --> <!-- TODO: remove supports-non-srcdir-builds when fixed --> - <autotools id="geany-plugins-release-gtk3" + <autotools id="geany-plugins-release" supports-non-srcdir-builds="no"> <branch repo="download.geany.org" module="geany-plugins/geany-plugins-${version}.tar.bz2" checkoutdir="geany-plugins-${version}" version="1.36"/> <dependencies> - <dep package="geany-release-gtk3" /> + <dep package="geany-release" /> <dep package="geany-plugins-deps" /> </dependencies> </autotools>
- <!-- Build everything necessary for Geany bundle from git on GTK 2 --> - <metamodule id="geany-bundle-git-gtk2"> - <dependencies> - <dep package="geany-plugins-git-gtk2" /> - </dependencies> - </metamodule> - - <!-- Build everything necessary for Geany bundle from git on GTK 3 --> - <metamodule id="geany-bundle-git-gtk3"> - <dependencies> - <dep package="geany-plugins-git-gtk3" /> - </dependencies> - </metamodule> - - <!-- Build everything necessary for Geany bundle from release tarballs GTK 2 --> - <metamodule id="geany-bundle-release-gtk2"> + <!-- Build everything necessary for Geany bundle from git --> + <metamodule id="geany-bundle-git"> <dependencies> - <dep package="geany-plugins-release-gtk2" /> + <dep package="geany-plugins-git" /> </dependencies> </metamodule>
- <!-- Build everything necessary for Geany bundle from release tarballs GTK 3 --> - <metamodule id="geany-bundle-release-gtk3"> + <!-- Build everything necessary for Geany bundle from release tarballs --> + <metamodule id="geany-bundle-release"> <dependencies> - <dep package="geany-plugins-release-gtk3" /> + <dep package="geany-plugins-release" /> </dependencies> </metamodule>
Modified: launcher-gtk2.sh 88 lines changed, 0 insertions(+), 88 deletions(-) =================================================================== @@ -1,88 +0,0 @@ -#!/bin/bash -l - -if test "x$GTK_DEBUG_LAUNCHER" != x; then - set -x -fi - -if test "x$GTK_DEBUG_GDB" != x; then - EXEC="gdb --args" -else - EXEC=exec -fi - -ORIG_DIR=`pwd` - -# simulate readlink -f which isn't present on OS X -TARGET_FILE=$0 -cd `dirname $TARGET_FILE` -TARGET_FILE=`basename $TARGET_FILE` -while [ -L "$TARGET_FILE" ] -do - TARGET_FILE=`readlink $TARGET_FILE` - cd `dirname $TARGET_FILE` - TARGET_FILE=`basename $TARGET_FILE` -done -PHYS_DIR=`pwd -P` - -cd "$ORIG_DIR" - -tmp=$PHYS_DIR/$TARGET_FILE -name=`basename "$tmp"` -tmp=`dirname "$tmp"` -tmp=`dirname "$tmp"` -bundle=`dirname "$tmp"` -bundle_contents="$bundle"/Contents -bundle_res="$bundle_contents"/Resources -bundle_lib="$bundle_res"/lib -bundle_bin="$bundle_res"/bin -bundle_data="$bundle_res"/share -bundle_etc="$bundle_res"/etc - -export XDG_CONFIG_DIRS="$bundle_etc" -export XDG_DATA_DIRS="$bundle_data" -export GTK_DATA_PREFIX="$bundle_res" -export GTK_EXE_PREFIX="$bundle_res" -export GTK_PATH="$bundle_res" - -export GTK2_RC_FILES="$bundle_etc/gtk-2.0/gtkrc" -export GTK_IM_MODULE_FILE="$bundle_etc/gtk-2.0/gtk.immodules" -#N.B. When gdk-pixbuf was separated from Gtk+ the location of the -#loaders cache changed as well. Depending on the version of Gtk+ that -#you built with you may still need to use the old location: -#export GDK_PIXBUF_MODULE_FILE="$bundle_etc/gtk-2.0/gdk-pixbuf.loaders" -export GDK_PIXBUF_MODULE_FILE="$bundle_lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" -export PANGO_LIBDIR="$bundle_lib" -export PANGO_SYSCONFDIR="$bundle_etc" - -if test -e ~/.config/geany/ignore_locale; then - export LANG="en_US.UTF-8" -else - export LANG=`defaults read .GlobalPreferences AppleLocale` - export LANG="${LANG}.UTF-8" -fi - -export LC_MESSAGES=$LANG -export LC_MONETARY=$LANG -export LC_COLLATE=$LANG -export LC_ALL=$LANG - -if test -f "$bundle_lib/charset.alias"; then - export CHARSETALIASDIR="$bundle_lib" -fi - -# Extra arguments can be added in environment.sh. -EXTRA_ARGS= -if test -f "$bundle_res/environment.sh"; then - source "$bundle_res/environment.sh" -fi - -# Strip out the argument added by the OS. -if /bin/expr "x$1" : '^x-psn_' > /dev/null; then - shift 1 -fi - -export GEANY_PLUGINS_SHARE_PATH="$bundle_res/share/geany-plugins" -export ENCHANT_MODULE_PATH="$bundle_lib/enchant" -export GIO_MODULE_DIR="$bundle_lib/gio/modules" - -$EXEC "$bundle_contents/MacOS/$name-bin" "$@" "--vte-lib=$bundle_lib/libvte-2.91.0.dylib" $EXTRA_ARGS
Modified: launcher-gtk3.sh 90 lines changed, 0 insertions(+), 90 deletions(-) =================================================================== @@ -1,90 +0,0 @@ -#!/bin/bash -l - -if test "x$GTK_DEBUG_LAUNCHER" != x; then - set -x -fi - -if test "x$GTK_DEBUG_GDB" != x; then - EXEC="gdb --args" -else - EXEC=exec -fi - -ORIG_DIR=`pwd` - -# simulate readlink -f which isn't present on OS X -TARGET_FILE=$0 -cd `dirname $TARGET_FILE` -TARGET_FILE=`basename $TARGET_FILE` -while [ -L "$TARGET_FILE" ] -do - TARGET_FILE=`readlink $TARGET_FILE` - cd `dirname $TARGET_FILE` - TARGET_FILE=`basename $TARGET_FILE` -done -PHYS_DIR=`pwd -P` - -cd "$ORIG_DIR" - -tmp=$PHYS_DIR/$TARGET_FILE -name=`basename "$tmp"` -tmp=`dirname "$tmp"` -tmp=`dirname "$tmp"` -bundle=`dirname "$tmp"` -bundle_contents="$bundle"/Contents -bundle_res="$bundle_contents"/Resources -bundle_lib="$bundle_res"/lib -bundle_bin="$bundle_res"/bin -bundle_data="$bundle_res"/share -bundle_etc="$bundle_res"/etc - -export XDG_CONFIG_DIRS="$bundle_etc" -export XDG_DATA_DIRS="$bundle_data" -export GTK_DATA_PREFIX="$bundle_res" -export GTK_EXE_PREFIX="$bundle_res" -export GTK_PATH="$bundle_res" - -export GTK_THEME="Mojave-light-solid" - -# PANGO_* is no longer needed for pango >= 1.38 -export PANGO_RC_FILE="$bundle_etc/pango/pangorc" -export PANGO_SYSCONFDIR="$bundle_etc" -export PANGO_LIBDIR="$bundle_lib" - -export GDK_PIXBUF_MODULE_FILE="$bundle_lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" -if [ `uname -r | cut -d . -f 1` -ge 10 ]; then - export GTK_IM_MODULE_FILE="$bundle_etc/gtk-3.0/gtk.immodules" -fi - -if test -e ~/.config/geany/ignore_locale; then - export LANG="en_US.UTF-8" -else - export LANG=`defaults read .GlobalPreferences AppleLocale` - export LANG="${LANG}.UTF-8" -fi - -export LC_MESSAGES=$LANG -export LC_MONETARY=$LANG -export LC_COLLATE=$LANG -export LC_ALL=$LANG - -if test -f "$bundle_lib/charset.alias"; then - export CHARSETALIASDIR="$bundle_lib" -fi - -# Extra arguments can be added in environment.sh. -EXTRA_ARGS= -if test -f "$bundle_res/environment.sh"; then - source "$bundle_res/environment.sh" -fi - -# Strip out the argument added by the OS. -if /bin/expr "x$1" : '^x-psn_' > /dev/null; then - shift 1 -fi - -export GEANY_PLUGINS_SHARE_PATH="$bundle_res/share/geany-plugins" -export ENCHANT_MODULE_PATH="$bundle_lib/enchant" -export GIO_MODULE_DIR="$bundle_lib/gio/modules" - -$EXEC "$bundle_contents/MacOS/$name-bin" "$@" "--vte-lib=$bundle_lib/libvte-2.91.0.dylib" $EXTRA_ARGS
Modified: patches/01-vte_0.28_fix.patch 76 lines changed, 0 insertions(+), 76 deletions(-) =================================================================== @@ -1,76 +0,0 @@ -From 8477c313f7d4a2eeb5c30c52e2b710b08d52b35c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jir=CC=8Ci=CC=81=20Techet?= techet@gmail.com -Date: Wed, 11 Feb 2015 00:26:29 +0100 -Subject: [PATCH] Fix VTE 0.28 on OS X - -The vte_terminal_expose() implementation is strange. The expose -function should typically just draw (and this is what vte_terminal_draw(), -which performs something similar on GTK 3, does - and everything works -there). However, for some reason vte_terminal_expose() doesn't always -draw; sometimes it invalidates the visible area, which in turn causes -vte_terminal_expose() is called again and which invalidates the visible -area again... and we have a nice infinite cycle without any real draw. - -It is a bit mysterious why this works on Linux and not on OS X - I assume -there is a different timing of events which might arrive in a different order -and cause this infinite cycle. - -The second mysterious thing is why the invalidation code is actually there -- frankly, I don't know, maybe it's just some leftover from the past. After -removing the invalidation stuff and doing plain drawing (similarly to the -GTK 3 draw function), the terminal works again. ---- - src/vte.c | 30 +++--------------------------- - 1 file changed, 3 insertions(+), 27 deletions(-) - -diff --git a/src/vte.c b/src/vte.c -index 695d327..18484a5 100644 ---- a/src/vte.c -+++ b/src/vte.c -@@ -11309,7 +11309,6 @@ vte_terminal_expose(GtkWidget *widget, - GdkEventExpose *event) - { - VteTerminal *terminal = VTE_TERMINAL (widget); -- GtkAllocation allocation; - - /* Beware the out of order events - - * do not even think about skipping exposes! */ -@@ -11317,32 +11316,9 @@ vte_terminal_expose(GtkWidget *widget, - _vte_debug_print (VTE_DEBUG_EVENTS, "Expose (%d,%d)x(%d,%d)\n", - event->area.x, event->area.y, - event->area.width, event->area.height); -- if (terminal->pvt->active != NULL && -- update_timeout_tag != 0 && -- !in_update_timeout) { -- /* fix up a race condition where we schedule a delayed update -- * after an 'immediate' invalidate all */ -- if (terminal->pvt->invalidated_all && -- terminal->pvt->update_regions == NULL) { -- terminal->pvt->invalidated_all = FALSE; -- } -- /* if we expect to redraw the widget soon, -- * just add this event to the list */ -- if (!terminal->pvt->invalidated_all) { -- gtk_widget_get_allocation (widget, &allocation); -- if (event->area.width >= allocation.width && -- event->area.height >= allocation.height) { -- _vte_invalidate_all (terminal); -- } else { -- terminal->pvt->update_regions = -- g_slist_prepend (terminal->pvt->update_regions, -- gdk_region_copy (event->region)); -- } -- } -- } else { -- vte_terminal_paint(widget, event->region); -- terminal->pvt->invalidated_all = FALSE; -- } -+ vte_terminal_paint(widget, event->region); -+ terminal->pvt->invalidated_all = FALSE; -+ - return FALSE; - } - --- -2.2.1 -
Modified: patches/02-vte_0.28_relpath.patch 89 lines changed, 0 insertions(+), 89 deletions(-) =================================================================== @@ -1,89 +0,0 @@ -From 47d939acec1a35f89773a6a727ae7b0cb069445f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jir=CC=8Ci=CC=81=20Techet?= techet@gmail.com -Date: Thu, 12 Feb 2015 00:25:29 +0100 -Subject: [PATCH] Make VTE independent of installation path when bundling - -The wrapper shell script defines the GTK_PATH to point to -the resources directory - use this path to avoid absolute paths -in the source. ---- - src/pty.c | 13 +++++++++++-- - src/vte.c | 30 +++++++++++++++++++++++++----- - 2 files changed, 36 insertions(+), 7 deletions(-) - -diff --git a/src/pty.c b/src/pty.c -index a4c8c07..61c09ff 100644 ---- a/src/pty.c -+++ b/src/pty.c -@@ -1181,8 +1181,17 @@ _vte_pty_start_helper(GError **error) - close(tunnel); - close(_vte_pty_helper_tunnel); - /* Exec our helper. */ -- execl(LIBEXECDIR "/gnome-pty-helper", -- "gnome-pty-helper", NULL); -+ gchar *path = g_build_filename(g_getenv("GTK_PATH"), -+ "libexec", -+ "gnome-pty-helper", -+ NULL); -+ if (!g_file_test(path, G_FILE_TEST_EXISTS)) -+ { -+ g_free(path); -+ path = g_strdup(LIBEXECDIR "/gnome-pty-helper"); -+ } -+ execl(path, "gnome-pty-helper", NULL); -+ g_free(path); - /* Bail. */ - _exit(1); - } -diff --git a/src/vte.c b/src/vte.c -index 18484a5..9b2ce23 100644 ---- a/src/vte.c -+++ b/src/vte.c -@@ -8272,11 +8272,21 @@ vte_terminal_set_termcap(VteTerminal *terminal, const char *path, - char *wpath; - - if (path == NULL) { -- wpath = g_build_filename(TERMCAPDIR, -- terminal->pvt->emulation ? -- terminal->pvt->emulation : -- vte_terminal_get_default_emulation(terminal), -+ wpath = g_build_filename(g_getenv("GTK_PATH"), -+ "share", -+ "vte", -+ "termcap-0.0", -+ "xterm", - NULL); -+ if (!g_file_test(wpath, G_FILE_TEST_EXISTS)) -+ { -+ g_free(wpath); -+ wpath = g_build_filename(TERMCAPDIR, -+ terminal->pvt->emulation ? -+ terminal->pvt->emulation : -+ vte_terminal_get_default_emulation(terminal), -+ NULL); -+ } - if (g_stat(wpath, &st) != 0) { - g_free(wpath); - wpath = g_strdup("/etc/termcap"); -@@ -11720,7 +11730,17 @@ vte_terminal_class_init(VteTerminalClass *klass) - } - #endif - -- bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); -+ gchar *localedir = g_build_filename(g_getenv("GTK_PATH"), -+ "share", -+ "locale", -+ NULL); -+ if (!g_file_test(localedir, G_FILE_TEST_IS_DIR)) -+ { -+ g_free(localedir); -+ localedir = g_strdup(LOCALEDIR); -+ } -+ bindtextdomain(GETTEXT_PACKAGE, localedir); -+ g_free(localedir); - #ifdef HAVE_DECL_BIND_TEXTDOMAIN_CODESET - bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); - #endif --- -2.2.1 -
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).