From a8eae7afaa8560b8aa949b2de14f4da0027af42b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 4 Sep 2020 09:52:37 -0400 Subject: [PATCH 1/2] build: Move the gtk-doc dep to the toplevel We want to include the gtk-doc subproject in release tarballs, using --include-subprojects, but that only works if we've actually built the subproject. And enabling gtk-doc for dist builds is problematic - it tends to break meson dist. So declare the gtk-doc dependency independent of -Dgtk_doc, and use --force-fallback-for for it. --- docs/reference/meson.build | 6 ------ meson.build | 5 +++++ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/reference/meson.build b/docs/reference/meson.build index 905af97d00..76525011ba 100644 --- a/docs/reference/meson.build +++ b/docs/reference/meson.build @@ -3,12 +3,6 @@ if get_option('gtk_doc') error('Building the GTK documentation requires Meson 0.52.0') endif - # Use gtk-doc as a sub-project from the gtk-doc-for-gtk4 branch - # for the time being - dependency('gtk-doc', version: '>=1.99', - fallback: ['gtk-doc', 'dummy_dep'], - default_options: ['tests=false', 'yelp_manual=false']) - glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix') glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html') diff --git a/meson.build b/meson.build index 5ad8508fb3..019b608c2a 100644 --- a/meson.build +++ b/meson.build @@ -382,6 +382,11 @@ graphene_dep = dependency('graphene-gobject-1.0', version: graphene_req, fallback: ['graphene', 'graphene_dep']) iso_codes_dep = dependency('iso-codes', required: false) +gtk_doc_dep = dependency('gtk-doc', version: '>=1.99', + fallback: ['gtk-doc', 'dummy_dep'], + default_options: ['tests=false', 'yelp_manual=false'], + required: get_option('gtk_doc')) + fontconfig_dep = [] # only used in x11 backend if os_win32 From 925a01162f7ecf1bdeff4204180f81df0f2f362b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 4 Sep 2020 09:56:10 -0400 Subject: [PATCH 2/2] build: Add a release script I've goofed up too many times producing the separate doc tarballs. So lets collect the required steps in a script. --- make-release.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 make-release.sh diff --git a/make-release.sh b/make-release.sh new file mode 100755 index 0000000000..50f8aed7d8 --- /dev/null +++ b/make-release.sh @@ -0,0 +1,30 @@ +#! /bin/sh + +version=$(head -5 meson.build | grep version | sed -e "s/[^']*'//" -e "s/'.*$//") +release_build_dir="release_build" +branch=$(git branch --show-current) + +if [ -d ${release_build_dir} ]; then + echo "Please remove ./${release_build_dir} first" + exit 1 +fi + +# we include gtk-doc since we need the gtk-doc-for-gtk4 branch +meson setup --force-fallback-for gtk-doc ${release_build_dir} || exit + +# make the release tarball +meson dist -C${release_build_dir} --include-subprojects || exit + +# now build the docs +meson configure -Dgtk_doc=true ${release_build_dir} || exit +ninja -C${release_build_dir} gdk4-doc gsk4-doc gtk4-doc || exit + +tar cf ${release_build_dir}/meson-dist/gdk-docs-${version}.tar.xz ${release_build_dir}/docs/reference/gdk +tar cf ${release_build_dir}/meson-dist/gsk-docs-${version}.tar.xz ${release_build_dir}/docs/reference/gsk +tar cf ${release_build_dir}/meson-dist/gtk-docs-${version}.tar.xz ${release_build_dir}/docs/reference/gtk + +echo -e "\n\nGTK ${version} release on branch ${branch} in ./${release_build_dir}/:\n" + +ls -l --sort=time -r "${release_build_dir}/meson-dist" + +echo -e "\nPlease sanity-check these tarballs before uploading them."