diff --git a/configure.ac b/configure.ac index c9feeeb..9c2460b 100644 --- a/configure.ac +++ b/configure.ac @@ -15,7 +15,7 @@ ebuild-autogen. If not, see . m4_define([version_major], [0]) m4_define([version_minor], [0]) -m4_define([version_revision], [1]) +m4_define([version_revision], [2]) AC_PACKAGE_URL([http://www.cor.za.net/code/ebuild-autogen]) AC_INIT(ebuild-autogen, diff --git a/ebuild/Makefile.am b/ebuild/Makefile.am index e417700..1236561 100644 --- a/ebuild/Makefile.am +++ b/ebuild/Makefile.am @@ -29,6 +29,12 @@ SOURCES = \ utils.scm \ version.scm +# Manual dependencys. +cli.go: version.scm +defs.go: version.scm +gen.go: version.scm +repo.go: version.scm + GOBJECTS = $(SOURCES:%.scm=%.go) nobase_mod_DATA = $(SOURCES) $(NOCOMP_SOURCES) diff --git a/ebuild/fetchers/Makefile.am b/ebuild/fetchers/Makefile.am index 9162a33..bea8e50 100644 --- a/ebuild/fetchers/Makefile.am +++ b/ebuild/fetchers/Makefile.am @@ -24,6 +24,13 @@ SOURCES = \ pypi.scm \ raw.scm +# Manual dependencys. +ebuild.go: ../version.scm +forgejo.go: ../version.scm +github.go: ../version.scm +pypi.go: ../version.scm +raw.scm: ../version.scm + GOBJECTS = $(SOURCES:%.scm=%.go) nobase_mod_DATA = $(SOURCES) $(NOCOMP_SOURCES) @@ -46,3 +53,7 @@ GUILE_OPTS = -L $(abs_top_builddir) SUFFIXES = .scm .go .scm.go: $(GUILD) compile $(GUILE_TARGET) $(GUILE_OPTS) $(GUILE_WARNINGS) -o "$@" "$<" + +# Build dep in parent folder. +../version.scm: + $(am__cd) ../ && $(MAKE) $(AM_MAKEFLAGS) version.scm diff --git a/ebuild/fetchers/pypi.scm b/ebuild/fetchers/pypi.scm index 87f2d2c..73d1274 100644 --- a/ebuild/fetchers/pypi.scm +++ b/ebuild/fetchers/pypi.scm @@ -60,6 +60,7 @@ (files (assoc-ref data "files"))) (map (lambda (version) (list (cons "version" version) + ;;TODO handle not found. (car (car ((dql (select (filter (where (lambda (file-name) (if (string? file-name) (string-contains file-name diff --git a/ebuild/repo.scm b/ebuild/repo.scm index 08619e5..800d5ec 100644 --- a/ebuild/repo.scm +++ b/ebuild/repo.scm @@ -48,7 +48,14 @@ (newline)) (lambda () (repository-discover path))))) - (let ((repo-root (dirname repo-orig))) + (let ((repo-root ;;(dirname repo-orig) + (string-join (take-while + (lambda (file) + (not (string=? file ".git"))) + (string-split repo-orig + (car (string->list + file-name-separator-string)))) + file-name-separator-string))) (if (>= verbosity verbosity-notice) (begin (display "Using repository: ") (display repo-root) @@ -66,7 +73,13 @@ (define-public repo-clone (lambda (url folder) "" - (clone url folder))) + (clone url folder) + (chdir folder) + (system* "/usr/bin/git" "submodule" "update" "--init" "--recursive") + ;; (chdir (string-join (list folder "autogen") + ;; file-name-separator-string)) + ;; (system* "/usr/bin/git" "checkout" "main") + (chdir folder))) (define-public repo-update-src (lambda (path) @@ -121,7 +134,8 @@ (finish (lambda () (if (string-suffix? ".ebuild" file-dst) (system* "ebuild" - (string-join (list folder-dst + (string-join (list repo + folder-dst file-dst) file-name-separator-string) "manifest"))