diff --git a/steps-guix/guile-gnutls-v5.0.1/pass1.sh b/steps-guix/guile-gnutls-v5.0.1/pass1.sh index e22e02e1..07331852 100644 --- a/steps-guix/guile-gnutls-v5.0.1/pass1.sh +++ b/steps-guix/guile-gnutls-v5.0.1/pass1.sh @@ -40,7 +40,6 @@ src_configure() { src_compile() { local pkg_config_path guile_cflags guile_static_libs gnutls_cflags gnutls_static_libs - local main_c pkg_config_path="${LIBDIR}/pkgconfig:${PREFIX}/lib/pkgconfig:${PREFIX}/share/pkgconfig" guile_cflags="$(PKG_CONFIG_LIBDIR="${pkg_config_path}" PKG_CONFIG_PATH="${pkg_config_path}" \ @@ -58,48 +57,10 @@ src_compile() { GNUTLS_CFLAGS="${gnutls_cflags}" \ GNUTLS_LIBS="${gnutls_static_libs}" \ default_src_compile - - mkdir -p static - ar rcs static/libguile-gnutls-static.a \ - guile/src/.libs/core.o \ - guile/src/.libs/errors.o \ - guile/src/.libs/utils.o - - main_c="static/guile-static-main.c" - cat > "${main_c}" <<'EOF_C' -#include - -void scm_init_gnutls(void); - -static void -inner_main(void *closure, int argc, char **argv) -{ - (void) closure; - scm_init_gnutls(); - scm_shell(argc, argv); -} - -int -main(int argc, char **argv) -{ - scm_boot_guile(argc, argv, inner_main, NULL); - return 0; -} -EOF_C - - gcc -O2 -static ${guile_cflags} \ - -o static/guile \ - "${main_c}" \ - static/libguile-gnutls-static.a \ - ${guile_static_libs} \ - ${gnutls_static_libs} } src_install() { default_src_install - install -Dm755 static/guile "${DESTDIR}${PREFIX}/bin/guile" - install -Dm644 static/libguile-gnutls-static.a \ - "${DESTDIR}${LIBDIR}/libguile-gnutls-static.a" } src_postprocess() { diff --git a/steps-guix/guile-gnutls-v5.0.1/patches/build-target-depends-on-built-sources.patch b/steps-guix/guile-gnutls-v5.0.1/patches/build-target-depends-on-built-sources.patch index e9882a5a..76e24dbc 100644 --- a/steps-guix/guile-gnutls-v5.0.1/patches/build-target-depends-on-built-sources.patch +++ b/steps-guix/guile-gnutls-v5.0.1/patches/build-target-depends-on-built-sources.patch @@ -1,13 +1,60 @@ --- guile-gnutls-v5.0.1/guile/src/Makefile.am +++ guile-gnutls-v5.0.1/guile/src/Makefile.am -@@ -46,6 +46,10 @@ guileextension_LTLIBRARIES = guile-gnutls-v-2.la - # . - guile_gnutls_v_2_la_LDFLAGS = -module -no-undefined +@@ -23,7 +23,8 @@ -+# When this specific libtool target is built directly, force generation of -+# Automake built sources (e.g. enums.h) first. -+guile-gnutls-v-2.la: $(BUILT_SOURCES) -+ + EXTRA_DIST = \ + make-enum-map.scm make-smob-types.scm \ +- make-enum-header.scm make-smob-header.scm ++ make-enum-header.scm make-smob-header.scm \ ++ guile-static-main.c + + # Files generated by the (gnutls build ...) modules. + GENERATED_BINDINGS = \ +@@ -45,10 +46,26 @@ guile_gnutls_v_2_la_SOURCES = core.c errors.c utils.c guile_gnutls_v_2_la_CFLAGS = \ $(AM_CFLAGS) $(GNULIB_CFLAGS) $(GUILE_CFLAGS) $(GNUTLS_CFLAGS) ++guile_gnutls_v_2_la_DEPENDENCIES = $(BUILT_SOURCES) + guile_gnutls_v_2_la_LIBADD = \ + $(GNUTLS_LIBS) \ + $(GUILE_LDFLAGS) + ++if !ENABLE_SHARED ++lib_LIBRARIES = libguile-gnutls-static.a ++libguile_gnutls_static_a_SOURCES = $(guile_gnutls_v_2_la_SOURCES) ++libguile_gnutls_static_a_CPPFLAGS = $(AM_CPPFLAGS) ++libguile_gnutls_static_a_CFLAGS = $(guile_gnutls_v_2_la_CFLAGS) ++libguile_gnutls_static_a_DEPENDENCIES = $(BUILT_SOURCES) ++ ++bin_PROGRAMS = guile ++guile_SOURCES = guile-static-main.c ++guile_CPPFLAGS = $(AM_CPPFLAGS) ++guile_CFLAGS = $(AM_CFLAGS) $(GNULIB_CFLAGS) $(GUILE_CFLAGS) $(GNUTLS_CFLAGS) ++guile_LDFLAGS = -static ++guile_LDADD = libguile-gnutls-static.a $(GUILE_LDFLAGS) $(GNUTLS_LIBS) ++endif !ENABLE_SHARED ++ + AM_CPPFLAGS = \ + -I$(top_srcdir)/lib/includes \ + -I$(top_builddir)/lib/includes \ +--- /dev/null ++++ guile-gnutls-v5.0.1/guile/src/guile-static-main.c +@@ -0,0 +1,18 @@ ++#include ++ ++void scm_init_gnutls(void); ++ ++static void ++inner_main(void *closure, int argc, char **argv) ++{ ++ (void) closure; ++ scm_init_gnutls(); ++ scm_shell(argc, argv); ++} ++ ++int ++main(int argc, char **argv) ++{ ++ scm_boot_guile(argc, argv, inner_main, NULL); ++ return 0; ++}