diff --git a/srcpkgs/girara/patches/font-gtk3.21.patch b/srcpkgs/girara/patches/font-gtk3.21.patch deleted file mode 100644 index 37dced585b8..00000000000 --- a/srcpkgs/girara/patches/font-gtk3.21.patch +++ /dev/null @@ -1,157 +0,0 @@ -Decription: Fix font handling for Gtk+ >= 3.21 -Origin: upstream - ---- data/girara-post-3.20.css_t -+++ data/girara-post-3.20.css_t -@@ -9,7 +9,9 @@ - color: @default-fg@; - background-color: @default-bg@; - background-image: none; -- font: @font@; -+ font-family: @font-family@; -+ font-size: @font-size@; -+ font-weight: @font-weight@; - } - - /* Inputbar */ ---- girara/config.c -+++ girara/config.c -@@ -50,8 +50,7 @@ - { - g_return_if_fail(session != NULL && value != NULL); - -- girara_template_set_variable_value(session->private_data->csstemplate, "font", -- value); -+ css_template_fill_font(session->private_data->csstemplate, value); - } - - static void ---- girara/internal.h -+++ girara/internal.h -@@ -148,6 +148,8 @@ - HIDDEN bool girara_sc_feedkeys(girara_session_t* session, girara_argument_t* argument, - girara_event_t* event, unsigned int t); - -+HIDDEN void css_template_fill_font(GiraraTemplate* csstemplate, const char* font); -+ - /** - * Structure of a command - */ ---- girara/session.c -+++ girara/session.c -@@ -44,7 +44,6 @@ - { - static const char* variable_names[] = { - "session", -- "font", - "default-fg", - "default-bg", - "inputbar-fg", -@@ -78,6 +77,88 @@ - for (size_t idx = 0; idx < LENGTH(variable_names); ++idx) { - girara_template_add_variable(csstemplate, variable_names[idx]); - } -+ -+ if (gtk_check_version(3, 20, 0) == NULL) { -+ girara_template_add_variable(csstemplate, "font-family"); -+ girara_template_add_variable(csstemplate, "font-size"); -+ girara_template_add_variable(csstemplate, "font-weight"); -+ } else { -+ girara_template_add_variable(csstemplate, "font"); -+ } -+} -+ -+void -+css_template_fill_font(GiraraTemplate* csstemplate, const char* font) -+{ -+ if (gtk_check_version(3, 20, 0) != NULL) { -+ girara_template_set_variable_value(csstemplate, "font", font); -+ return; -+ } -+ -+ PangoFontDescription* descr = pango_font_description_from_string(font); -+ if (descr == NULL) { -+ return; -+ } -+ -+ girara_template_set_variable_value(csstemplate, "font-family", -+ pango_font_description_get_family(descr)); -+ -+ char* size = g_strdup_printf("%d%s", pango_font_description_get_size(descr) / PANGO_SCALE, -+ pango_font_description_get_size_is_absolute(descr) == FALSE ? "pt" : ""); -+ girara_template_set_variable_value(csstemplate, "font-size", size); -+ g_free(size); -+ -+ switch (pango_font_description_get_weight(descr)) { -+ case PANGO_WEIGHT_THIN: -+ girara_template_set_variable_value(csstemplate, "font-weight", "thin"); -+ break; -+ -+ case PANGO_WEIGHT_ULTRALIGHT: -+ girara_template_set_variable_value(csstemplate, "font-weight", "ultralight"); -+ break; -+ -+ case PANGO_WEIGHT_SEMILIGHT: -+ girara_template_set_variable_value(csstemplate, "font-weight", "light"); -+ break; -+ -+ case PANGO_WEIGHT_LIGHT: -+ girara_template_set_variable_value(csstemplate, "font-weight", "light"); -+ break; -+ -+ case PANGO_WEIGHT_BOOK: -+ girara_template_set_variable_value(csstemplate, "font-weight", "book"); -+ break; -+ -+ case PANGO_WEIGHT_MEDIUM: -+ girara_template_set_variable_value(csstemplate, "font-weight", "medium"); -+ break; -+ -+ case PANGO_WEIGHT_SEMIBOLD: -+ girara_template_set_variable_value(csstemplate, "font-weight", "semibold"); -+ break; -+ -+ case PANGO_WEIGHT_BOLD: -+ girara_template_set_variable_value(csstemplate, "font-weight", "bold"); -+ break; -+ -+ case PANGO_WEIGHT_ULTRABOLD: -+ girara_template_set_variable_value(csstemplate, "font-weight", "ultrabold"); -+ break; -+ -+ case PANGO_WEIGHT_HEAVY: -+ girara_template_set_variable_value(csstemplate, "font-weight", "heavy"); -+ break; -+ -+ case PANGO_WEIGHT_ULTRAHEAVY: -+ girara_template_set_variable_value(csstemplate, "font-weight", "ultraheavy"); -+ break; -+ -+ default: -+ girara_template_set_variable_value(csstemplate, "font-weight", "normal"); -+ break; -+ } -+ -+ pango_font_description_free(descr); - } - - static void -@@ -91,10 +172,16 @@ - char* font = NULL; - girara_setting_get(session, "font", &font); - if (font != NULL) { -- girara_template_set_variable_value(csstemplate, "font", font); -+ css_template_fill_font(csstemplate, font); - g_free(font); - } else { -- girara_template_set_variable_value(csstemplate, "font", "monospace normal 9"); -+ if (gtk_check_version(3, 20, 0) == NULL) { -+ girara_template_set_variable_value(csstemplate, "font-family", "monospace"); -+ girara_template_set_variable_value(csstemplate, "font-size", "9pt"); -+ girara_template_set_variable_value(csstemplate, "font-weight", "normal"); -+ } else { -+ girara_template_set_variable_value(csstemplate, "font", "monospace normal 9"); -+ } - }; - - /* parse color values */ diff --git a/srcpkgs/girara/template b/srcpkgs/girara/template index 642f6966112..0ffc6470552 100644 --- a/srcpkgs/girara/template +++ b/srcpkgs/girara/template @@ -1,7 +1,7 @@ # Template file for 'girara' pkgname=girara -version=0.2.6 -revision=2 +version=0.2.7 +revision=1 build_style=gnu-makefile # COLOR=0 to avoid "tput not found" spam in the build output make_build_args="COLOR=0" @@ -13,7 +13,7 @@ license="zlib" homepage="http://pwmt.org/projects/girara/" short_desc="A library implementing a user interface that focuses on minimalism" distfiles="http://pwmt.org/projects/${pkgname}/download/${pkgname}-${version}.tar.gz" -checksum=eba69b3522b4d149e06d133de52877913275873c505993fad08b6d7884ec9a0f +checksum=98e6a343298ae46869c990bc6e0732555e19af2e386cdc1a911f109b1c5c32e5 pre_build() { sed -i 's/^\(CFLAGS *+=\)/override \1/' config.mk