diff --git a/.gitignore b/.gitignore index 0835745..fbf84f3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,3 @@ /clipit-1.4.1.tar.gz /clipit-1.4.2.tar.gz /v1.4.4.tar.gz -/v1.4.5.tar.gz -/ClipIt-20210922T1754.tar.gz -/ClipIt-20250116T2347.tar.gz diff --git a/0002-Fix-starting-outside-terminal.patch b/0002-Fix-starting-outside-terminal.patch new file mode 100644 index 0000000..dd0b04a --- /dev/null +++ b/0002-Fix-starting-outside-terminal.patch @@ -0,0 +1,24 @@ +From 84bda7c606fbae7ea2194c85ae109461509f901f Mon Sep 17 00:00:00 2001 +From: Michael Simacek +Date: Tue, 3 Jul 2018 17:48:58 +0200 +Subject: [PATCH 2/2] Fix starting outside terminal + +--- + src/main.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/main.c b/src/main.c +index 7e485ec..b44a005 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -1034,7 +1034,6 @@ int main(int argc, char **argv) { + return 0; + } + g_string_free(piped_string, TRUE); +- return -1; + } + } + +-- +2.17.1 + diff --git a/clipit-1.4.5-force-gdk_backend-x11.patch b/clipit-1.4.5-force-gdk_backend-x11.patch deleted file mode 100644 index 47e3bdc..0000000 --- a/clipit-1.4.5-force-gdk_backend-x11.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- ClipIt-1.4.5/src/main.c.nowayland 2020-06-11 14:33:56.000000000 +0900 -+++ ClipIt-1.4.5/src/main.c 2021-03-30 00:28:10.301811018 +0900 -@@ -1086,6 +1086,7 @@ int main(int argc, char **argv) { - bindtextdomain(GETTEXT_PACKAGE, CLIPITLOCALEDIR); - bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); - textdomain(GETTEXT_PACKAGE); -+ setenv("GDK_BACKEND", "x11", 1); - - input_buffer[0] = '\0'; - input_index = 0; diff --git a/clipit-pr211-c23-function-prototype.patch b/clipit-pr211-c23-function-prototype.patch deleted file mode 100644 index 799b2f6..0000000 --- a/clipit-pr211-c23-function-prototype.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 46c53082bd81c769d3422f1bedbab57bc73e8007 Mon Sep 17 00:00:00 2001 -From: Mamoru TASAKA -Date: Fri, 17 Jan 2025 00:23:31 +0900 -Subject: [PATCH] Fix function prototype for g_timer_add family for C23 - -g_timer_add or g_timeout_add_seconds manual says that -the second argument must have type of GSourceFunc, i.e. -function with one gpointer argument returning gboolean. - -Fixing so, unless compilation fails with C23. ---- - src/manage.c | 2 +- - src/manage.h | 2 +- - src/preferences.c | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/manage.c b/src/manage.c -index 25f7b75..25ed6d4 100644 ---- a/src/manage.c -+++ b/src/manage.c -@@ -331,7 +331,7 @@ void search_window_response(GtkDialog *dialog, gint response_id, gpointer user_d - } - - /* Shows the search dialog */ --gboolean show_search() -+gboolean show_search(gpointer user_data) - { - /* Prevent multiple instances */ - if(gtk_grab_get_current()) { -diff --git a/src/manage.h b/src/manage.h -index 8740c0f..b810e74 100644 ---- a/src/manage.h -+++ b/src/manage.h -@@ -24,7 +24,7 @@ - - G_BEGIN_DECLS - --gboolean show_search(); -+gboolean show_search(gpointer); - void remove_all_selected(gpointer); - - G_END_DECLS -diff --git a/src/preferences.c b/src/preferences.c -index 4e9a9ed..8222758 100644 ---- a/src/preferences.c -+++ b/src/preferences.c -@@ -430,7 +430,7 @@ static void start_purge_timer(gint timeout_seconds); - static void stop_purge_timer(); - - /* Purge history if history_timeout is enabled. This function is called every prefs.history_timeout_seconds */ --static gboolean purge_history() { -+static gboolean purge_history(gpointer user_data) { - if (prefs.history_timeout) { - g_list_free(history); - history = NULL; diff --git a/clipit.spec b/clipit.spec index 1b52227..cb03abb 100644 --- a/clipit.spec +++ b/clipit.spec @@ -1,72 +1,23 @@ -%global main_ver 1.4.5 - -%global reponame ClipIt -%global gitdate 20241103 -%global gitcommit f35db540c9d3c57b13439d66597736e917e8c9a1 -%global shortcommit %(c=%{gitcommit}; echo ${c:0:7}) - -%global tarballdate 20250116 -%global tarballtime 2347 - -%global use_release 0 -%global use_gitbare 1 -%global use_gitcommit_as_ver 1 - -%if 0%{?use_gitbare} < 1 -%global use_release 1 -%endif - -%if 0%{?use_gitcommit_as_ver} >= 1 -%global rpm_ver %{main_ver}^%{gitdate}git%{shortcommit} -%global builddir_ver %{main_ver}-%{gitdate}git%{shortcommit} -%else -%define rpmver %{main_ver} -%global builddir_ver %{main_ver} -%endif - - Name: clipit -Version: %{rpm_ver} -Release: 3%{?dist} +Version: 1.4.4 +Release: 5%{?dist} Summary: A lightweight, fully featured GTK+ clipboard manager -# meson.build says: GPL-3.0-or-later -# src/eggaccelerators.{c,h} LGPL-2.1-or-later -# src/keybinder.{c,h} LGPL-2.1-or-later -# Other source GPL-3.0-or-later -# SPDX confirmed -License: GPL-3.0-or-later AND LGPL-2.1-or-later +License: GPLv3+ URL: https://github.com/CristianHenzel/ClipIt -%if 0%{?use_release} >= 1 Source0: https://github.com/CristianHenzel/ClipIt/archive/v%{version}.tar.gz -%endif -%if 0%{?use_gitbare} >= 1 -Source0: %{reponame}-%{tarballdate}T%{tarballtime}.tar.gz -%endif Source1: %{name}.appdata.xml -Source2: create-clipit-git-bare-tarball.sh # clipit doesn't autostart in MATE # Fixed upstream but not yet merged Patch0: 0001-Autostart-in-MATE.patch -# Force GDK_BACKEND to x11 -Patch1: clipit-1.4.5-force-gdk_backend-x11.patch -# Fix -Werror=incompatible-pointer-types -Patch3: https://sources.debian.org/data/main/c/clipit/1.4.5%2Bgit20210313-3/debian/patches/incompatible-pointer-types.patch -# https://github.com/CristianHenzel/ClipIt/pull/211 -# Fix compilation with C23 struct function prototype -Patch4: clipit-pr211-c23-function-prototype.patch +Patch1: 0002-Fix-starting-outside-terminal.patch -%if 0%{?use_gitbare} >= 1 -BuildRequires: git -%endif -BuildRequires: automake BuildRequires: gcc BuildRequires: make -BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: gtk2-devel BuildRequires: desktop-file-utils BuildRequires: intltool BuildRequires: gettext -BuildRequires: /usr/bin/appstream-util Requires: xdotool %description @@ -81,161 +32,43 @@ ClipIts main features are: %prep -%if 0%{?use_release} >= 1 -%setup -q -n %{reponame}-%{builddir_ver} -%endif +%setup -q -n ClipIt-%{version} -%if 0%{?use_gitbare} >= 1 -%setup -q -c -n %{reponame}-%{builddir_ver} -T -a 0 -git clone ./%{reponame}.git - -cd %{reponame} -git checkout -b fedora-%{builddir_ver}-head %{gitcommit} -cp -a [A-Z]* .. - -git config user.name "%{name} Fedora maintainer" -git config user.email "%{name}-maintainers@fedoraproject.org" -%endif - -%patch -P0 -p1 -b .mate -%patch -P1 -p1 -b .nowayland -%patch -P3 -p1 -b .c99_cast -%patch -P4 -p1 -b .c23 - -sed -i data/clipit.desktop.in -e '\@_Comment.*hr@d' -sed -i data/clipit-startup.desktop.in -e '\@_Comment.*hr@d' - -%if 0%{?use_gitbare} >= 1 -git commit -m "Apply Fedora specific configuration" -a -%endif - -./autogen.sh +%patch0 -p1 +%patch1 -p1 %build -%if 0%{?use_gitbare} >= 1 -cd %{reponame} -%endif +./autogen.sh + +%configure +make %{?_smp_mflags} -%configure \ - --with-gtk3 \ - %{nil} -%make_build %install -%if 0%{?use_gitbare} >= 1 -cd %{reponame} -%endif - -%make_install - -%if 0%{?use_gitbare} >= 1 -cd .. -%endif - +make install DESTDIR=%{buildroot} %find_lang %{name} - desktop-file-install --delete-original \ --remove-category=Application \ --dir %{buildroot}%{_datadir}/applications \ %{buildroot}%{_datadir}/applications/%{name}.desktop - desktop-file-install --delete-original \ --dir %{buildroot}%{_sysconfdir}/xdg/autostart \ %{buildroot}%{_sysconfdir}/xdg/autostart/%{name}-startup.desktop +mkdir -p %{buildroot}%{_datadir}/appdata/ +install -m 644 %{SOURCE1} %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml -mkdir -p %{buildroot}%{_metainfodir} -install -c -p -m 644 %{SOURCE1} %{buildroot}%{_metainfodir}/%{name}.appdata.xml - -%check -appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{name}.appdata.xml %files -f %{name}.lang -%license COPYING -%doc AUTHORS -%doc ChangeLog -%doc README.md - +%doc AUTHORS ChangeLog COPYING README NEWS %{_bindir}/%{name} %{_mandir}/man1/%{name}.1.* -%{_datadir}/icons/hicolor/scalable/apps/%{name}-trayicon*.svg -%{_metainfodir}/%{name}.appdata.xml - +%{_datadir}/icons/hicolor/scalable/apps/%{name}-trayicon.svg %{_datadir}/applications/%{name}.desktop %config(noreplace) %{_sysconfdir}/xdg/autostart/%{name}-startup.desktop +%{_datadir}/appdata/%{name}.appdata.xml + %changelog -* Wed Jul 23 2025 Fedora Release Engineering - 1.4.5^20241103gitf35db54-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Fri Jan 24 2025 Mamoru TASAKA - 1.4.5^20241103gitf35db54-2 -- Remove debugging -std= option - -* Thu Jan 16 2025 Mamoru TASAKA - 1.4.5^20241103gitf35db54-1 -- Update to the latest git (20241103gitf35db54) -- Fix compilation with C23 for struct function prototypes - -* Thu Jan 16 2025 Fedora Release Engineering - 1.4.5^20210513gite5fa64c-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Tue Oct 08 2024 Mamoru TASAKA - 1.4.5^20210513gite5fa64c-6 -- Apply debian patch for -Werror=incompatible-pointer-types - -* Wed Jul 17 2024 Fedora Release Engineering - 1.4.5^20210513gite5fa64c-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jan 24 2024 Fedora Release Engineering - 1.4.5^20210513gite5fa64c-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 1.4.5^20210513gite5fa64c-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Mamoru TASAKA - 1.4.5^20210513gite5fa64c-2 -- Change -Wincompatible-pointer-types from error to warning - -* Wed Jan 10 2024 Mamoru TASAKA - 1.4.5^20210513gite5fa64c-1 -- Use hat for release, change EVR scheme -- SPDX migration - -* Wed Jul 19 2023 Fedora Release Engineering - 1.4.5-4.D20210513gite5fa64c.5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jan 19 2023 Fedora Release Engineering - 1.4.5-4.D20210513gite5fa64c.4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Dec 14 2022 Florian Weimer - 1.4.5-4.D20210513gite5fa64c.3 -- C99 compatibility fixes - -* Wed Jul 20 2022 Fedora Release Engineering - 1.4.5-4.D20210513gite5fa64c.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jan 19 2022 Fedora Release Engineering - 1.4.5-4.D20210513gite5fa64c.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Sep 22 2021 Mamoru TASAKA - 1.4.5-4.D20210513gite5fa64c -- Update to the latest git - - increase POPUP_DELAY to workaround hotkey popup issue - -* Wed Jul 21 2021 Fedora Release Engineering - 1.4.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon Mar 29 2021 Mamoru TASAKA - 1.4.5-2 -- Force GDK_BACKEND to x11 (bug 1943480, bug 1943509) - -* Fri Mar 19 2021 Mamoru TASAKA - 1.4.5-1 -- 1.4.5 - -* Tue Jan 26 2021 Fedora Release Engineering - 1.4.4-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Sep 11 2020 Mamoru TASAKA - 1.4.4-8 -- Backport upstream patch to fix history purge time being too short (bug 1640765) - -* Mon Jul 27 2020 Fedora Release Engineering - 1.4.4-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jan 28 2020 Fedora Release Engineering - 1.4.4-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - * Wed Jul 24 2019 Fedora Release Engineering - 1.4.4-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/create-clipit-git-bare-tarball.sh b/create-clipit-git-bare-tarball.sh deleted file mode 100644 index 9de0946..0000000 --- a/create-clipit-git-bare-tarball.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -set -x -set -e - -REPONAME=ClipIt -GITURL=https://github.com/CristianHenzel/${REPONAME}.git - -DATE=$(date '+%Y%m%d') -TIME=$(date '+%H%M') - -TARNAME=${REPONAME}-${DATE}T${TIME}.tar.gz - -PWDDIR=$(pwd) -TMPDIR=$(mktemp -d /var/tmp/${REPONAME}-XXXXXX) -pushd $TMPDIR - -git clone --mirror $GITURL - -mkdir TMP -pushd TMP -git clone ../${REPONAME}.git -cd ${REPONAME} -git log --format=fuller 2>&1 | head -n 8 -#grep version README.md -echo -popd - -tar czf ${TARNAME} ${REPONAME}.git/ - -cp -p ${TARNAME} $PWDDIR -popd -rm -rf $TMPDIR diff --git a/incompatible-pointer-types.patch b/incompatible-pointer-types.patch deleted file mode 100644 index 71e52ed..0000000 --- a/incompatible-pointer-types.patch +++ /dev/null @@ -1,79 +0,0 @@ -Author: Andreas Beckmann -Description: fix building with -Werror=incompatible-pointer-types - ---- a/src/keybinder.c -+++ b/src/keybinder.c -@@ -310,7 +310,7 @@ keybinder_is_modifier (guint keycode) - gboolean retval = FALSE; - - mod_keymap = XGetModifierMapping ( -- GDK_WINDOW_XDISPLAY(gdk_display_get_default())); -+ GDK_DISPLAY_XDISPLAY(gdk_display_get_default())); - - map_size = 8 * mod_keymap->max_keypermod; - ---- a/src/main.c -+++ b/src/main.c -@@ -614,7 +614,7 @@ void underline_match(char* match, GtkMen - PangoAttrList* attr_list = pango_attr_list_new(); - pango_attr_list_insert (attr_list, underline); - -- GtkWidget* gtk_label = gtk_bin_get_child (GTK_BIN (menu_item)); -+ GtkLabel* gtk_label = (GtkLabel *) gtk_bin_get_child (GTK_BIN (menu_item)); - gtk_label_set_attributes (gtk_label, attr_list); - } - -@@ -638,7 +638,7 @@ gboolean selected_by_input(const GtkWidg - append_to_input_buffer(event->string); - - GtkMenuShell* menu = (GtkMenuShell *) history_menu; -- GList* element = gtk_container_get_children(menu); -+ GList* element = gtk_container_get_children((GtkContainer *) menu); - GtkMenuItem *menu_item, *first_match = 0; - - const gchar* menu_label; -@@ -657,9 +657,9 @@ gboolean selected_by_input(const GtkWidg - first_match = menu_item; - match_count++; - underline_match(match, menu_item, menu_label); -- gtk_widget_set_sensitive(menu_item, true); -+ gtk_widget_set_sensitive((GtkWidget *) menu_item, true); - } else { -- gtk_widget_set_sensitive(menu_item, false); -+ gtk_widget_set_sensitive((GtkWidget *) menu_item, false); - } - element = element->next; - count++; -@@ -667,7 +667,7 @@ gboolean selected_by_input(const GtkWidg - - if (first_match && match_count != prefs.items_menu) { - gtk_menu_item_select(first_match); -- gtk_menu_shell_select_item(menu, first_match); -+ gtk_menu_shell_select_item(menu, (GtkWidget *) first_match); - return TRUE; - } - return FALSE; ---- a/src/preferences.c -+++ b/src/preferences.c -@@ -723,7 +723,7 @@ void show_preferences(gint tab) { - *alignment, *hbox, - *vbox; - -- GtkWidget *adjustment, *adjustment_small, *adjustment_statics; -+ GtkAdjustment *adjustment, *adjustment_small, *adjustment_statics; - GtkTreeViewColumn *tree_column; - - /* Create the dialog */ -@@ -898,9 +898,9 @@ void show_preferences(gint tab) { - gtk_misc_set_alignment((GtkMisc*)label, 0.0, 0.50); - gtk_box_pack_start((GtkBox*)hbox, label, FALSE, FALSE, 0); - ellipsize_combo = gtk_combo_box_text_new(); -- gtk_combo_box_text_append_text((GtkComboBox*)ellipsize_combo, _("Beginning")); -- gtk_combo_box_text_append_text((GtkComboBox*)ellipsize_combo, _("Middle")); -- gtk_combo_box_text_append_text((GtkComboBox*)ellipsize_combo, _("End")); -+ gtk_combo_box_text_append_text((GtkComboBoxText*)ellipsize_combo, _("Beginning")); -+ gtk_combo_box_text_append_text((GtkComboBoxText*)ellipsize_combo, _("Middle")); -+ gtk_combo_box_text_append_text((GtkComboBoxText*)ellipsize_combo, _("End")); - gtk_box_pack_start((GtkBox*)hbox, ellipsize_combo, FALSE, FALSE, 0); - gtk_box_pack_start((GtkBox*)vbox_history, frame, FALSE, FALSE, 0); - diff --git a/sources b/sources index 7e089b4..8989973 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ClipIt-20250116T2347.tar.gz) = c99a3b5633018f9a4f168cca8d81f6ec75b398579c4a875fe9ad258410548b3f6c012f0914ea33af7ffb6c40c7cf47732f3420def042a2a5b8976fdf8e011c35 +SHA512 (v1.4.4.tar.gz) = 09d83aa6107c85a7fa604bee40cf45b4096b2db316f1e3286b8919d143d04cd2c4ba2293d563ff2b2e03d7e688a217149e24c14acbc9509146479e8532b3a623