Draft: libglycin
@jbicha @a-wai I'd like some help if you can spare the time. glycin 1.1 introduced libglycin, a .so.0 library the gets built from the same source. It builds fine, but for the life of me I can't figure out the correct debian install paths though. As far as I understood the meson-build file it builds the .so, copies it to tmp.so and then generates the .gir and .pc files from it. So far I haven't been able to make it work.
Relevent build log:
Finished `release` profile [optimized + debuginfo] target(s) in 1m 10s
[8/27] /usr/bin/cp -a /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/cargo-target/release/libglycin.so /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin/libglycin-1.so.0
FAILED: libglycin/would-overlap-with-library()
/usr/bin/cp -a /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/cargo-target/release/libglycin.so /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin/libglycin-1.so.0
/usr/bin/cp: cannot stat '/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/cargo-target/release/libglycin.so': No such file or directory
[10/27] env PKG_CONFIG_PATH=/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/meson-uninstalled PKG_CONFIG=/usr/bin/pkg-config CC=cc /usr/bin/x86_64-linux-gnu-g-ir-scanner --quiet --no-libtool --namespace=Gly --nsversion=1 --warn-all --output libglycin/Gly-1.gir --c-include=glycin.h -I/build/reproducible-path/glycin-1.1.4+ds/libglycin -I/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin -I/build/reproducible-path/glycin-1.1.4+ds/libglycin/include/ -I/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin/include/ --filelist=/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin/libglycin-1.so.0.p/Gly_1_gir_filelist --include=GLib-2.0 --include=GObject-2.0 --include=Gio-2.0 --include=Gdk-4.0 --symbol-prefix=gly --pkg-export=libglycin-1 --cflags-begin -I/build/reproducible-path/glycin-1.1.4+ds/libglycin/include/ -I/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin/include/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gobject-introspection-1.0 --cflags-end -I/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin --add-include-path=/usr/share/gir-1.0 --add-include-path=/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin -L/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin --library glycin-1 --extra-library=gio-2.0 --extra-library=gobject-2.0 --extra-library=glib-2.0 --extra-library=seccomp --extra-library=lcms2 --extra-library=lcms2_fast_float --extra-library=lcms2_threaded --extra-library=m --extra-library=girepository-1.0 --sources-top-dirs /build/reproducible-path/glycin-1.1.4+ds/ --sources-top-dirs /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/
FAILED: libglycin/Gly-1.gir
env PKG_CONFIG_PATH=/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/meson-uninstalled PKG_CONFIG=/usr/bin/pkg-config CC=cc /usr/bin/x86_64-linux-gnu-g-ir-scanner --quiet --no-libtool --namespace=Gly --nsversion=1 --warn-all --output libglycin/Gly-1.gir --c-include=glycin.h -I/build/reproducible-path/glycin-1.1.4+ds/libglycin -I/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin -I/build/reproducible-path/glycin-1.1.4+ds/libglycin/include/ -I/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin/include/ --filelist=/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin/libglycin-1.so.0.p/Gly_1_gir_filelist --include=GLib-2.0 --include=GObject-2.0 --include=Gio-2.0 --include=Gdk-4.0 --symbol-prefix=gly --pkg-export=libglycin-1 --cflags-begin -I/build/reproducible-path/glycin-1.1.4+ds/libglycin/include/ -I/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin/include/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gobject-introspection-1.0 --cflags-end -I/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin --add-include-path=/usr/share/gir-1.0 --add-include-path=/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin -L/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin --library glycin-1 --extra-library=gio-2.0 --extra-library=gobject-2.0 --extra-library=glib-2.0 --extra-library=seccomp --extra-library=lcms2 --extra-library=lcms2_fast_float --extra-library=lcms2_threaded --extra-library=m --extra-library=girepository-1.0 --sources-top-dirs /build/reproducible-path/glycin-1.1.4+ds/ --sources-top-dirs /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/
/usr/bin/ld: /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/tmp-introspecth5qfryum/Gly-1.o:./obj-x86_64-linux-gnu/./obj-x86_64-linux-gnu/tmp-introspecth5qfryum/Gly-1.c:832:(.data.rel+0x0): undefined reference to `gly_loader_error_quark'
/usr/bin/ld: /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/tmp-introspecth5qfryum/Gly-1.o:./obj-x86_64-linux-gnu/./obj-x86_64-linux-gnu/tmp-introspecth5qfryum/Gly-1.c:823:(.data.rel+0x20): undefined reference to `gly_loader_get_type'
/usr/bin/ld: /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/tmp-introspecth5qfryum/Gly-1.o:(.data.rel+0x28): undefined reference to `gly_image_get_type'
/usr/bin/ld: /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/tmp-introspecth5qfryum/Gly-1.o:(.data.rel+0x30): undefined reference to `gly_frame_get_type'
/usr/bin/ld: /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/tmp-introspecth5qfryum/Gly-1.o:(.data.rel+0x38): undefined reference to `gly_sandbox_selector_get_type'
/usr/bin/ld: /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/tmp-introspecth5qfryum/Gly-1.o:(.data.rel+0x40): undefined reference to `gly_memory_format_get_type'
/usr/bin/ld: /build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/tmp-introspecth5qfryum/Gly-1.o:(.data.rel+0x48): undefined reference to `gly_loader_error_get_type'
collect2: error: ld returned 1 exit status
linking of temporary binary failed: Command '['cc', '-o', '/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/tmp-introspecth5qfryum/Gly-1', '-Wdate-time', '-D_FORTIFY_SOURCE=2', '-g', '-O2', '-Werror=implicit-function-declaration', '-ffile-prefix-map=/build/reproducible-path/glycin-1.1.4+ds=.', '-fstack-protector-strong', '-fstack-clash-protection', '-Wformat', '-Werror=format-security', '-fcf-protection', '/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/tmp-introspecth5qfryum/Gly-1.o', '-L.', '-Wl,-rpath,.', '-Wl,--no-as-needed', '-L/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin', '-Wl,-rpath,/build/reproducible-path/glycin-1.1.4+ds/obj-x86_64-linux-gnu/libglycin', '-lglycin-1', '-lgio-2.0', '-lgobject-2.0', '-lglib-2.0', '-lseccomp', '-llcms2', '-llcms2_fast_float', '-llcms2_threaded', '-lm', '-lgirepository-1.0', '-lgio-2.0', '-lgobject-2.0', '-Wl,--export-dynamic', '-lgmodule-2.0', '-pthread', '-lglib-2.0', '-lglib-2.0', '-Wl,-z,relro', '-Wl,-z,now']' returned non-zero exit status 1.
This is with above patch. libglycin.so gets built under builddir/cargo-target/get_option('host_arch')/release/libglycin.so