mirror of
https://github.com/ivabus/pantry
synced 2024-11-23 00:45:07 +03:00
glib (and friends!) linux build fixes (#204)
* glib linux build fixes * gobj-intr * include symlink step when testing, in case a subsequent test requires it * fix harfbuzz build Co-authored-by: Max Howell <mxcl@me.com>
This commit is contained in:
parent
09dcb113f3
commit
fbad316611
6 changed files with 39 additions and 8 deletions
|
@ -29,6 +29,7 @@ build:
|
|||
meson \
|
||||
--buildtype=release \
|
||||
--prefix={{prefix}} \
|
||||
--libdir={{prefix}}/lib \
|
||||
-Dman=false \
|
||||
..
|
||||
ninja
|
||||
|
|
|
@ -31,12 +31,14 @@ build:
|
|||
GT='${prefix}/../../../gnu.org/gettext/v{{ deps.gnu.org/gettext.version.major }}'
|
||||
|
||||
cd {{prefix}}/lib/pkgconfig
|
||||
|
||||
sed -i.bak -e \
|
||||
's|Libs: -L${libdir} -lglib-2.0 -lintl|Libs: -L${libdir} -lglib-2.0'\ -L$GT/lib\ -lintl\| \
|
||||
./glib-2.0.pc
|
||||
sed -i.bak -e \
|
||||
's|Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include|Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include'\ -I$GT/include\| \
|
||||
./glib-2.0.pc
|
||||
|
||||
rm *.bak
|
||||
|
||||
#REF https://github.com/Homebrew/homebrew-core/blob/d0e65698ccd502335bea68ce879ae02e1735db0d/Formula/glib.rb#L66-L67
|
||||
|
@ -44,6 +46,7 @@ build:
|
|||
env:
|
||||
ARGS:
|
||||
- --prefix={{prefix}}
|
||||
- --libdir={{prefix}}/lib
|
||||
- --wrap-mode=nofallback
|
||||
- --buildtype=release
|
||||
# tests fail to build with `error: target emulation unknown: -m or at least one .o file required`
|
||||
|
@ -54,15 +57,17 @@ test:
|
|||
tea.xyz/gx/cc: c99
|
||||
freedesktop.org/pkg-config: ^0.29
|
||||
script: |
|
||||
sh - <<EOSTDIN
|
||||
# unset these since we only want to test via pkg-config
|
||||
unset LIBRARY_PATH
|
||||
unset CPATH
|
||||
unset LD_LIBRARY_PATH
|
||||
unset DYLD_FALLBACK_LIBRARY_PATH
|
||||
cc $CFLAGS $LDFLAGS test.c
|
||||
EOSTDIN
|
||||
|
||||
./a.out
|
||||
env:
|
||||
# using pkg-config as pixman puts its headers in `include/pixman-1`
|
||||
LDFLAGS: $(pkg-config --libs glib-2.0)
|
||||
CFLAGS: $(pkg-config --cflags glib-2.0)
|
||||
# unset these since we only want to test via pkg-config
|
||||
LIBRARY_PATH: /
|
||||
CPATH: /
|
||||
LD_LIBRARY_PATH: /
|
||||
darwin:
|
||||
DYLD_LIBRARY_PATH: /
|
||||
|
|
|
@ -21,7 +21,7 @@ build:
|
|||
working-directory:
|
||||
build
|
||||
script: |
|
||||
meson .. --prefix={{prefix}} --buildtype=release
|
||||
meson .. --prefix={{prefix}} --libdir={{prefix}}/lib --buildtype=release
|
||||
ninja -v
|
||||
ninja install
|
||||
env:
|
||||
|
@ -39,8 +39,12 @@ test:
|
|||
tea.xyz/gx/make: '*'
|
||||
freedesktop.org/pkg-config: ^0.29
|
||||
script: |
|
||||
git clone $FIXTURE .
|
||||
git clone $FIXTURE test
|
||||
cd test
|
||||
git apply ../test_make.diff
|
||||
make
|
||||
test -f Tut-0.1.typelib
|
||||
env:
|
||||
FIXTURE: https://gist.github.com/7a0023656ccfe309337a.git
|
||||
PKG_CONFIG_PATH: $PKG_CONFIG_PATH:{{prefix}}/lib/pkgconfig
|
||||
|
||||
|
|
15
projects/gnome.org/gobject-introspection/test_make.diff
Normal file
15
projects/gnome.org/gobject-introspection/test_make.diff
Normal file
|
@ -0,0 +1,15 @@
|
|||
diff -u a/Makefile b/Makefile
|
||||
--- a/Makefile 2022-10-21 16:31:23.000000000 -0400
|
||||
+++ b/Makefile 2022-10-21 17:59:47.000000000 -0400
|
||||
@@ -11,9 +11,9 @@
|
||||
# CC0 Public Domain Dedication:
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
-C_INCLUDES:=$(shell pkg-config --cflags gobject-introspection-1.0)
|
||||
+C_INCLUDES:=$(shell pkg-config --cflags gobject-introspection-1.0 glib-2.0)
|
||||
CFLAGS=$(C_INCLUDES) -g
|
||||
-LIBS:=$(shell pkg-config --libs gobject-introspection-1.0 gmodule-2.0)
|
||||
+LIBS:=$(shell pkg-config --libs gobject-introspection-1.0 gmodule-2.0 glib-2.0)
|
||||
|
||||
OBJECTS=tut-greeter.o main.o
|
||||
SOURCES=tut-greeter.c tut-greeter.h main.c
|
|
@ -36,6 +36,7 @@ build:
|
|||
- -Dfreetype=enabled
|
||||
- --buildtype=release
|
||||
- --prefix={{prefix}}
|
||||
- --libdir={{prefix}}/lib
|
||||
|
||||
#TODO more
|
||||
test: pango-view --version
|
||||
|
|
|
@ -32,6 +32,11 @@ async function test(self: Installation) {
|
|||
const yml = await pantry.getYAML(self.pkg).parse()
|
||||
const deps = await deps4(self.pkg)
|
||||
const installations = await prepare(deps)
|
||||
|
||||
// if we are testing multiple packages, they might not
|
||||
// get linked when they're tested.
|
||||
await link(self)
|
||||
|
||||
const env = useShellEnv({ installations: [self, ...installations] })
|
||||
|
||||
let text = undent`
|
||||
|
|
Loading…
Reference in a new issue