meson: dist pot file in tarballs
authorTim-Philipp Müller <tim@centricular.com>
Mon, 7 Sep 2020 19:22:38 +0000 (20:22 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Mon, 7 Sep 2020 21:23:18 +0000 (22:23 +0100)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/618>

meson.build
scripts/dist-translations.py [new file with mode: 0755]
scripts/meson.build [new file with mode: 0644]

index 910009f..e86168a 100644 (file)
@@ -565,6 +565,8 @@ if find_program('xgettext', required : get_option('nls')).found()
   subdir('po')
 endif
 
+subdir('scripts')
+
 # Set release date
 if gst_version_nano == 0
   extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py')
diff --git a/scripts/dist-translations.py b/scripts/dist-translations.py
new file mode 100755 (executable)
index 0000000..65148d6
--- /dev/null
@@ -0,0 +1,42 @@
+#!/usr/bin/env python3
+#
+# Copyright (C) 2020 Tim-Philipp Müller <tim centricular net>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+import os
+import subprocess
+import shutil
+import tempfile
+
+if __name__ == "__main__":
+    dist_root = os.environ['MESON_DIST_ROOT']
+    build_root = os.environ['MESON_BUILD_ROOT']
+    source_root = os.environ['MESON_SOURCE_ROOT']
+    pwd = os.environ['PWD']
+    tmpdir = tempfile.gettempdir()
+
+    module = os.path.basename(os.path.normpath(source_root))
+
+    # Generate pot file
+    print('Generating pot file ...')
+    subprocess.run(['ninja', '-C', build_root, module + '-1.0-pot'], check=True)
+
+    # Dist pot file in tarball
+    print('Copying pot file into dist staging directory ...')
+    pot_src = os.path.join(source_root, 'po', module + '-1.0.pot')
+    dist_po_dir = os.path.join(dist_root, 'po')
+    shutil.copy2(pot_src, dist_po_dir)
diff --git a/scripts/meson.build b/scripts/meson.build
new file mode 100644 (file)
index 0000000..f5d9106
--- /dev/null
@@ -0,0 +1,4 @@
+# dist scripts
+if not meson.is_subproject()
+  meson.add_dist_script('dist-translations.py')
+endif