Add shebangs to all examples for direct execution from anywhere
ober
41106d41b49d93a159eef2296c7741e4e0a9323e
--- a/README.md +++ b/README.md @@ -96,48 +96,39 @@ Tests run headless using Qt's offscreen platform plugin (`QT_QPA_PLATFORM=offscr ### Running Examples -All examples are standalone Chez Scheme scripts. Run them with: +All examples are self-contained executables with shebangs. Just run them directly from anywhere: -From the chez-qt directory: +```sh +./examples/hello.ss +./examples/counter.ss +./examples/form.ss +./examples/editor.ss +./examples/dashboard.ss +``` + +The shebang automatically resolves library paths relative to the script location, so examples work from any working directory: + +```sh +cd /tmp +/path/to/chez-qt/examples/hello.ss +``` + +Run headless (no display required): ```sh -# Run any example (LD_LIBRARY_PATH is set by the Makefile's rpath, but set it if needed) -scheme --libdirs . --script examples/hello.ss -scheme --libdirs . --script examples/counter.ss -scheme --libdirs . --script examples/form.ss -scheme --libdirs . --script examples/editor.ss -scheme --libdirs . --script examples/dashboard.ss -scheme --libdirs . --script examples/filebrowser.ss -scheme --libdirs . --script examples/styled.ss -scheme --libdirs . --script examples/settings.ss -scheme --libdirs . --script examples/painter.ss -scheme --libdirs . --script examples/datainput.ss -scheme --libdirs . --script examples/planner.ss -scheme --libdirs . --script examples/autocomplete.ss -scheme --libdirs . --script examples/modelviewer.ss -scheme --libdirs . --script examples/polished.ss -scheme --libdirs . --script examples/diagram.ss -scheme --libdirs . --script examples/terminal.ss -scheme --libdirs . --script examples/widgets.ss -scheme --libdirs . --script examples/filemanager.ss -scheme --libdirs . --script examples/wizard.ss -scheme --libdirs . --script examples/mdi.ss -scheme --libdirs . --script examples/dockable.ss -scheme --libdirs . --script examples/trayapp.ss -scheme --libdirs . --script examples/dragdrop.ss -scheme --libdirs . --script examples/keyboard.ss -scheme --libdirs . --script examples/dialogs.ss -scheme --libdirs . --script examples/richtext.ss +QT_QPA_PLATFORM=offscreen ./examples/hello.ss ``` -Or run headless (no display required): +Or invoke manually without the shebang: ```sh -QT_QPA_PLATFORM=offscreen scheme --libdirs . --script examples/hello.ss +scheme --libdirs /path/to/chez-qt --script examples/hello.ss ``` ### Using from the REPL +From the chez-qt directory: + ```sh scheme --libdirs . ``` old mode 100644 new mode 100755 --- a/examples/autocomplete.ss +++ b/examples/autocomplete.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; autocomplete.ss — QSettings, QCompleter, QToolTip demo ;;; Search with history, auto-complete from past searches old mode 100644 new mode 100755 --- a/examples/counter.ss +++ b/examples/counter.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; Counter example: button click increments a label (import (chez-qt qt)) old mode 100644 new mode 100755 --- a/examples/dashboard.ss +++ b/examples/dashboard.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; dashboard.ss — Dashboard demo showcasing tabs, lists, tables, sliders (import (chez-qt qt)) old mode 100644 new mode 100755 --- a/examples/datainput.ss +++ b/examples/datainput.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; datainput.ss — Data input widgets demo ;;; Demonstrates QDoubleSpinBox, QDateEdit, QTimeEdit, QFrame, ;;; QProgressDialog, and QInputDialog. old mode 100644 new mode 100755 --- a/examples/diagram.ss +++ b/examples/diagram.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# (import (chez-qt qt)) (define (main) old mode 100644 new mode 100755 --- a/examples/dialogs.ss +++ b/examples/dialogs.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; dialogs.ss — Showcase of all dialog types. ;;; ;;; Demonstrates: QProgressDialog, QInputDialog (get-text, get-int, old mode 100644 new mode 100755 --- a/examples/dockable.ss +++ b/examples/dockable.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# (import (chez-qt qt)) (define (main) old mode 100644 new mode 100755 --- a/examples/dragdrop.ss +++ b/examples/dragdrop.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# (import (chez-qt qt)) (define (main) old mode 100644 new mode 100755 --- a/examples/editor.ss +++ b/examples/editor.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; editor.ss — Simple text editor with menus, toolbar, keyboard shortcuts (import (chez-qt qt)) old mode 100644 new mode 100755 --- a/examples/filebrowser.ss +++ b/examples/filebrowser.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; File Browser — demonstrates QTreeWidget, QGridLayout, QTimer, clipboard (import (chez-qt qt)) old mode 100644 new mode 100755 --- a/examples/filemanager.ss +++ b/examples/filemanager.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; filemanager.ss — File system browser using QFileSystemModel + QTreeView (import (chez-qt qt)) old mode 100644 new mode 100755 --- a/examples/form.ss +++ b/examples/form.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; Form example: exercises Phase 2 widgets ;;; QLineEdit, QCheckBox, QComboBox, QSpinBox, QPushButton + QMessageBox old mode 100644 new mode 100755 --- a/examples/hello.ss +++ b/examples/hello.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; Minimal Chez-Qt example: window with a label (import (chez-qt qt)) old mode 100644 new mode 100755 --- a/examples/keyboard.ss +++ b/examples/keyboard.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; keyboard.ss — Key event viewer and shortcut demo. ;;; ;;; Demonstrates: qt-on-key-press!, qt-last-key-code, qt-last-key-modifiers, old mode 100644 new mode 100755 --- a/examples/mdi.ss +++ b/examples/mdi.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# (import (chez-qt qt)) (define (main) old mode 100644 new mode 100755 --- a/examples/modelviewer.ss +++ b/examples/modelviewer.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; modelviewer.ss — Model/View demo ;;; QStandardItemModel in QTableView with sorting/filtering, ;;; and a QTreeView with hierarchical data. old mode 100644 new mode 100755 --- a/examples/painter.ss +++ b/examples/painter.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; painter.ss — QPainter demo: draw shapes, text, and composited images (import (chez-qt qt)) old mode 100644 new mode 100755 --- a/examples/planner.ss +++ b/examples/planner.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; planner.ss — QFormLayout, QCalendarWidget, QTextBrowser, ;;; QDialogButtonBox, QShortcut old mode 100644 new mode 100755 --- a/examples/polished.ss +++ b/examples/polished.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; polished.ss — Practical Polish demo ;;; QToolButton, validators, QPlainTextEdit, layout spacers, QSizePolicy old mode 100644 new mode 100755 --- a/examples/richtext.ss +++ b/examples/richtext.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; richtext.ss — HTML viewer with font/color customization ;;; Demonstrates: QTextBrowser, QFrame, QFont, QColor, QFontDialog, QColorDialog, QButtonBox old mode 100644 new mode 100755 --- a/examples/settings.ss +++ b/examples/settings.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; settings.ss — Radio buttons, button groups, group boxes ;;; ;;; Demonstrates: old mode 100644 new mode 100755 --- a/examples/styled.ss +++ b/examples/styled.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; styled.ss — Dark-themed split-pane app with scroll area, key events ;;; ;;; Demonstrates: old mode 100644 new mode 100755 --- a/examples/terminal.ss +++ b/examples/terminal.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; terminal.ss — Simple terminal demonstrating QProcess with QPlainTextEdit (import (chez-qt qt)) old mode 100644 new mode 100755 --- a/examples/trayapp.ss +++ b/examples/trayapp.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# (import (chez-qt qt)) (define (main) old mode 100644 new mode 100755 --- a/examples/widgets.ss +++ b/examples/widgets.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# ;;; widgets.ss — Niche widgets demo: QDial, QLCDNumber, QToolBox, QUndoStack (import (chez-qt qt)) old mode 100644 new mode 100755 --- a/examples/wizard.ss +++ b/examples/wizard.ss @@ -1,3 +1,11 @@ +#!/bin/sh +#| +CHEZ_QT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +VENDOR_LIB="$(objdump -p "$CHEZ_QT_DIR/qt_chez_shim.so" 2>/dev/null | sed -n 's/.*RUNPATH *//p')" +export LD_LIBRARY_PATH="${VENDOR_LIB:+$VENDOR_LIB:}$CHEZ_QT_DIR:$LD_LIBRARY_PATH" +export CHEZ_QT_LIB="$CHEZ_QT_DIR" +exec scheme --libdirs "$CHEZ_QT_DIR" --script "$0" "$@" +|# (import (chez-qt qt)) (define (main)