[recipes] Stop hardcoding PKGDATADIR in cuisine.css
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [recipes] Stop hardcoding PKGDATADIR in cuisine.css
- Date: Tue, 28 Feb 2017 12:35:14 +0000 (UTC)
commit dc9dc74f44a3248b40cd88263cdcd2d905c723cf
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Feb 28 07:33:05 2017 -0500
Stop hardcoding PKGDATADIR in cuisine.css
Instead, replace @pkgdatadir@ at runtime. This turns
out to not only fix relocatability on OS X, but also
simplify our build machinery.
src/Makefile.am | 17 +----------------
src/{cuisine.css.in => cuisine.css} | 0
src/gr-cuisine.c | 19 +++++++++++++++++--
src/meson.build | 14 +-------------
src/recipes-generated.gresource.xml | 6 ------
src/recipes-images.gresource.xml | 1 +
6 files changed, 20 insertions(+), 37 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index e421d46..95e5b3f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -130,7 +130,6 @@ gnome_recipes_SOURCES = \
gr-window.c \
resources-ui.c \
resources-images.c \
- resources-generated.c \
types.h \
types.c \
gr-shell-search-provider.h \
@@ -141,7 +140,6 @@ gnome_recipes_SOURCES = \
BUILT_SOURCES = \
resources-ui.c \
resources-images.c \
- resources-generated.c \
ingredients.inc \
no-ingredients.inc \
segments.inc \
@@ -153,11 +151,9 @@ BUILT_SOURCES = \
DISTCLEANFILES = \
resources-ui.c \
resources-images.c \
- resources-generated.c \
ingredients.inc \
no-ingredients.inc \
segments.inc \
- cuisine.css \
types.h \
types.c \
gr-shell-search-provider-dbus.h \
@@ -184,12 +180,6 @@ resources-images.c: recipes-images.gresource.xml $(resource_image_files)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/recipes-images.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
-resource_generated_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(builddir) --generate-dependencies
$(srcdir)/recipes-generated.gresource.xml)
-
-resources-generated.c: recipes-generated.gresource.xml $(resource_generated_files)
- $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/recipes-generated.gresource.xml \
- --target=$@ --sourcedir=$(builddir) --generate-source
-
types.h: types.h.template gr-diet.h
$(AM_V_GEN) ($(GLIB_MKENUMS) --template $^ ) > xgen-eh && \
cp xgen-eh $@ && \
@@ -207,18 +197,13 @@ gr-shell-search-provider-dbus.h gr-shell-search-provider-dbus.c: Makefile.am $(s
--generate-c-code gr-shell-search-provider-dbus \
$(srcdir)/shell-search-provider-dbus-interfaces.xml
-cuisine.css: cuisine.css.in
- $(AM_V_GEN) sed -e "s|\@pkgdatadir\@|$(pkgdatadir)|" $< > $@
-
EXTRA_DIST = \
shell-search-provider-dbus-interfaces.xml \
recipes-ui.gresource.xml \
recipes-images.gresource.xml \
- recipes-generated.gresource.xml \
$(resource_ui_files) \
$(resource_image_files) \
types.h.template \
- types.c.template \
- cuisine.css.in
+ types.c.template
-include $(top_srcdir)/git.mk
diff --git a/src/cuisine.css.in b/src/cuisine.css
similarity index 100%
rename from src/cuisine.css.in
rename to src/cuisine.css
diff --git a/src/gr-cuisine.c b/src/gr-cuisine.c
index cc879fe..234c7ea 100644
--- a/src/gr-cuisine.c
+++ b/src/gr-cuisine.c
@@ -23,6 +23,7 @@
#include <glib.h>
#include <glib/gi18n.h>
+#include "gr-utils.h"
#include "gr-cuisine.h"
@@ -159,7 +160,9 @@ gr_cuisine_get_css (void)
{
g_autoptr(GFile) file = NULL;
const char *path;
- char *css;
+ g_autofree char *css = NULL;
+ GString *s = NULL;
+ char *p, *q;
if (g_file_test ("cuisine.css", G_FILE_TEST_EXISTS)) {
path = "cuisine.css";
@@ -176,5 +179,17 @@ gr_cuisine_get_css (void)
g_message ("Load CSS from: %s", path);
g_file_load_contents (file, NULL, &css, NULL, NULL, NULL);
- return css;
+ s = g_string_new ("");
+ p = css;
+ while (1) {
+ q = strstr (p, "@pkgdatadir@");
+ if (!p) {
+ g_string_append (s, p);
+ break;
+ }
+ g_string_append_len (s, p, q - p);
+ g_string_append (s, get_pkg_data_dir ());
+ }
+
+ return g_string_free (s, FALSE);
}
diff --git a/src/meson.build b/src/meson.build
index cd6b4bb..3fe3e2c 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -3,11 +3,6 @@ gnome = import('gnome')
src = []
enums = []
-# Used in recipes-images.gresource.xml
-cuisine_css = configure_file(output : 'cuisine.css',
- input : 'cuisine.css.in',
- configuration : conf)
-
# These generated files are #included
list_to_c = find_program('list_to_c.py')
foreach f : ['segments', 'ingredients']
@@ -36,12 +31,6 @@ resources_images = gnome.compile_resources('resources_images',
c_name: '_recipes_images',
source_dir: 'src')
-resources_generated = gnome.compile_resources('resources_generated',
- 'recipes-generated.gresource.xml',
- c_name: '_recipes_generated',
- source_dir: 'src',
- dependencies: cuisine_css)
-
enums += gnome.mkenums('types',
sources: 'gr-diet.h',
c_template: 'types.c.template',
@@ -112,8 +101,7 @@ src += ['main.c',
enums,
search_provider,
resources_ui,
- resources_images,
- resources_generated]
+ resources_images]
executable('gnome-recipes',
src,
diff --git a/src/recipes-images.gresource.xml b/src/recipes-images.gresource.xml
index fa754f1..8f8f3af 100644
--- a/src/recipes-images.gresource.xml
+++ b/src/recipes-images.gresource.xml
@@ -3,6 +3,7 @@
<gresource prefix="/org/gnome/Recipes">
<file>org.gnome.Recipes-symbolic.symbolic.png</file>
<file>recipes.css</file>
+ <file>cuisine.css</file>
<file>icons/16x16/apps/garlic-content-symbolic.symbolic.png</file>
<file>icons/24x24/apps/garlic-content-symbolic.symbolic.png</file>
<file>icons/32x32/apps/garlic-content-symbolic.symbolic.png</file>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]