Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 18 additions & 4 deletions .github/workflows/macvim-buildtest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,24 @@ jobs:
formula: libiconv
contents: opt/libiconv/lib/libiconv.a,opt/libiconv/lib/libiconv.dylib

# Set up, install, and cache pixman library for image support.

# Temporary measure to forcefully unlink openssl@1.1, as it conflicts
# with pixman which tries to install openssl@3. This will not be
# necessary when we upgrade to use a newer runner which has more
# up-to-date OpenSSL installed.
- name: Set up OpenSSL 3
if: inputs.publish
run: |
brew unlink openssl@3 && brew link --overwrite openssl@3

- name: Set up pixman
if: inputs.publish
uses: ./.github/actions/universal-package
with:
formula: pixman
contents: lib/libpixman-1.a,lib/libpixman-1.0.dylib

# Set up, install, and cache gettext library for localization.

- name: Set up gettext
Expand Down Expand Up @@ -218,10 +236,6 @@ jobs:
--enable-sparkle_1
)
fi
# TODO MacVim temporary fix for pixman dependency not working in CI
CONFOPT+=(
--disable-pixman
)
echo "CONFOPT: ${CONFOPT[@]}"

./configure "${CONFOPT[@]}" --enable-fail-if-missing
Expand Down
15 changes: 15 additions & 0 deletions src/auto/configure
Original file line number Diff line number Diff line change
Expand Up @@ -9522,6 +9522,21 @@ printf "%s\n" "yes" >&6; }
PIXMAN_LIBS=`$PKG_CONFIG --libs pixman-1`
PIXMAN_CFLAGS=`$PKG_CONFIG --cflags-only-other pixman-1`
PIXMAN_CPPFLAGS=`$PKG_CONFIG --cflags-only-I pixman-1`

# MacVim: Hack to statically link against pixman instead of dynamic link,
# as we can't distribute app bundles with external linkage dependencies.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libpixman-1.a" >&5
printf %s "checking for libpixman-1.a... " >&6; }
pixman_libdir=`$PKG_CONFIG --variable=libdir pixman-1`
if test -f ${pixman_libdir}/libpixman-1.a; then
PIXMAN_LIBS="${pixman_libdir}/libpixman-1.a"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Using ${pixman_libdir}/libpixman-1.a instead of -lpixman-1" >&5
printf "%s\n" "Using ${pixman_libdir}/libpixman-1.a instead of -lpixman-1" >&6; };
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: libpixman-1.a not found - keeping using -lpixman-1" >&5
printf "%s\n" "libpixman-1.a not found - keeping using -lpixman-1" >&6; };
fi

printf "%s\n" "#define HAVE_PIXMAN 1" >>confdefs.h


Expand Down
12 changes: 12 additions & 0 deletions src/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2702,6 +2702,18 @@ if test "$enable_pixman" != "no"; then
PIXMAN_LIBS=`$PKG_CONFIG --libs pixman-1`
PIXMAN_CFLAGS=`$PKG_CONFIG --cflags-only-other pixman-1`
PIXMAN_CPPFLAGS=`$PKG_CONFIG --cflags-only-I pixman-1`

# MacVim: Hack to statically link against pixman instead of dynamic link,
# as we can't distribute app bundles with external linkage dependencies.
AC_MSG_CHECKING([for libpixman-1.a])
pixman_libdir=`$PKG_CONFIG --variable=libdir pixman-1`
if test -f ${pixman_libdir}/libpixman-1.a; then
PIXMAN_LIBS="${pixman_libdir}/libpixman-1.a"
AC_MSG_RESULT([Using ${pixman_libdir}/libpixman-1.a instead of -lpixman-1]);
else
AC_MSG_RESULT([libpixman-1.a not found - keeping using -lpixman-1]);
fi

AC_DEFINE(HAVE_PIXMAN)
AC_SUBST(PIXMAN_LIBS)
AC_SUBST(PIXMAN_CFLAGS)
Expand Down
1 change: 1 addition & 0 deletions src/testdir/test_macvim.vim
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ func Test_macvim_options_commands_exist()
call assert_true(has('clipboard'), 'Missing feature "clipboard"')
call assert_true(has('clipboard_working'), 'Missing feature "clipboard_working"')
call assert_true(has('iconv'), 'Missing feature "iconv"')
call assert_true(has('image'), 'Missing feature "image"')
call assert_true(has('sound'), 'Missing feature "sound"')
call assert_true(has('terminal'), 'Missing feature "terminal"')
call assert_true(has('xim'), 'Missing feature "xim"')
Expand Down
Loading