diff --git a/.gitignore b/.gitignore index 80b30ac..f23e051 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ vkeybd-0.1.17a.tar.bz2 -/vkeybd-0.1.18d.tar.bz2 -/vkeybd-0.1.18f.tar.gz diff --git a/sources b/sources index e0fb46e..befd58c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vkeybd-0.1.18f.tar.gz) = 35525e8e3a0f8781494df7768daafd05466c2ead9f23383bf3fff34451022335fee9b5a0191959f124810d350869480ed5cdc3ea3da1b89567a1af7e1e2960b7 +3def91f76f68203a275781d471c5b7e2 vkeybd-0.1.17a.tar.bz2 diff --git a/vkeybd-CFLAGS.patch b/vkeybd-CFLAGS.patch new file mode 100644 index 0000000..17d7075 --- /dev/null +++ b/vkeybd-CFLAGS.patch @@ -0,0 +1,11 @@ +--- Makefile.orig 2006-04-25 11:28:38.000000000 -0400 ++++ Makefile 2006-04-25 11:31:19.000000000 -0400 +@@ -84,7 +84,7 @@ + + VKB_TCLFILE = $(VKBLIB_DIR)/vkeybd.tcl + +-CFLAGS = -Wall -O -DVKB_TCLFILE=\"$(VKB_TCLFILE)\" \ ++CFLAGS = -Wall $(RPM_OPT_FLAGS) -DVKB_TCLFILE=\"$(VKB_TCLFILE)\" \ + -DVKBLIB_DIR=\"$(VKBLIB_DIR)\"\ + -DVERSION_STR=\"$(VERSION)\"\ + $(DEVICES) $(XINC) $(TCLINC) $(TKINC) $(LASHCFLAGS) diff --git a/vkeybd-lash-2.patch b/vkeybd-lash-2.patch new file mode 100644 index 0000000..9db4fcc --- /dev/null +++ b/vkeybd-lash-2.patch @@ -0,0 +1,22 @@ +--- README~ 2006-09-25 09:00:12.000000000 -0700 ++++ README 2006-09-25 09:08:53.000000000 -0700 +@@ -46,8 +46,8 @@ + To disable a device, set the value 0. Do not undefine it. + At least one of them must have non-zero value. + +- - USE_LADCCA +- Supports LADCCA (http://pkl.net/~node/software/) ++ - USE_LASH ++ Supports LASH (http://www.nongnu.org/lash/) + Set 1 to add the this support. + + - TCLLIB +@@ -106,7 +106,7 @@ + device port. This options makes vkeybd possible to "fake" + as a real MIDI device. + --lash bool +- Specify the support of LADCCA. Give yes or no as the ++ Specify the support of LASH. Give yes or no as the + argument. The default value is no. + + OSS Sequencer Device Option: diff --git a/vkeybd-lash.patch b/vkeybd-lash.patch new file mode 100644 index 0000000..5876f72 --- /dev/null +++ b/vkeybd-lash.patch @@ -0,0 +1,135 @@ +--- Makefile~ 2006-04-25 07:00:14.000000000 -0400 ++++ Makefile 2006-04-25 07:00:36.000000000 -0400 +@@ -30,7 +30,7 @@ + USE_AWE = 1 + USE_MIDI = 1 + USE_ALSA = 1 +-USE_LADCCA = 0 ++USE_LASH = 0 + + # + # Tcl/Tk library -- depends on your distribution +@@ -68,14 +68,14 @@ + endif + + # +-# LADCCA stuff ++# LASH stuff + # +-ifeq (1,$(USE_LADCCA)) +-LADCCACFLAGS = $(shell pkg-config --cflags ladcca-1.0) \ +- $(shell pkg-config --exists ladcca-1.0 && echo "-DHAVE_LADCCA" ) +-LADCCALIBS = $(shell pkg-config --libs ladcca-1.0) +-DEVICES += $(LADCCACFLAGS) +-EXTRALIB += $(LADCCALIBS) ++ifeq (1,$(USE_LASH)) ++LASHCFLAGS = $(shell pkg-config --cflags lash-1.0) \ ++ $(shell pkg-config --exists lash-1.0 && echo "-DHAVE_LASH" ) ++LASHLIBS = $(shell pkg-config --libs lash-1.0) ++DEVICES += $(LASHCFLAGS) ++EXTRALIB += $(LASHLIBS) + endif + + #---------------------------------------------------------------- +@@ -87,7 +87,7 @@ + CFLAGS = -Wall -O -DVKB_TCLFILE=\"$(VKB_TCLFILE)\" \ + -DVKBLIB_DIR=\"$(VKBLIB_DIR)\"\ + -DVERSION_STR=\"$(VERSION)\"\ +- $(DEVICES) $(XINC) $(TCLINC) $(TKINC) $(LADCCACFLAGS) ++ $(DEVICES) $(XINC) $(TCLINC) $(TKINC) $(LASHCFLAGS) + + TARGETS = vkeybd sftovkb + +--- oper_alsa.c~ 2006-04-25 06:59:53.000000000 -0400 ++++ oper_alsa.c 2006-04-25 07:00:36.000000000 -0400 +@@ -79,7 +79,7 @@ + {"addr", "subscriber", "--addr client:port or 'subscriber' : ALSA sequencer destination"}, + {"name", DEFAULT_NAME, "--name string : use the specified string as client/port names"}, + #ifdef HAVE_LADCCA +- {"ladcca", "no", "--ladcca : support LADCCA (default = no)"}, ++ {"lash", "no", "--lash : support LASH (default = no)"}, + #endif + {NULL}, + }; +@@ -100,7 +100,7 @@ + static int seq_client, seq_port; + static int chan_no; + +-#ifdef HAVE_LADCCA ++#ifdef HAVE_LASH + static cca_client_t * cca_client = NULL; + #endif + +@@ -156,9 +156,9 @@ + /* get my client id */ + my_client = snd_seq_client_id(seq_handle); + +- /* tell the ladcca server our client id */ +-#ifdef HAVE_LADCCA +- if ((var = Tcl_GetVar2(ip, "optvar", "ladcca", TCL_GLOBAL_ONLY)) != NULL) { ++ /* tell the lash server our client id */ ++#ifdef HAVE_LASH ++ if ((var = Tcl_GetVar2(ip, "optvar", "lash", TCL_GLOBAL_ONLY)) != NULL) { + if (*var == 'y' || *var == 'Y' || *var == '1') { + cca_client = cca_init (cca_args, + "vkeybd", +@@ -174,7 +174,7 @@ + } + } + } +-#endif /* HAVE_LADCCA */ ++#endif /* HAVE_LASH */ + + /* set client info */ + if ((var = Tcl_GetVar2(ip, "optvar", "name", TCL_GLOBAL_ONLY)) != NULL) +@@ -203,7 +203,7 @@ + if (seq_client != SND_SEQ_ADDRESS_SUBSCRIBERS) { + /* subscribe to MIDI port */ + if ( +-#ifdef HAVE_LADCCA ++#ifdef HAVE_LASH + !cca_enabled (cca_client) && + #endif + snd_seq_connect_to(seq_handle, my_port, seq_client, seq_port) < 0) { +--- README~ 2006-04-25 06:59:57.000000000 -0400 ++++ README 2006-04-25 07:00:36.000000000 -0400 +@@ -105,7 +105,7 @@ + tk707 check the client/port name whether it is a valid MIDI + device port. This options makes vkeybd possible to "fake" + as a real MIDI device. +- --ladcca bool ++ --lash bool + Specify the support of LADCCA. Give yes or no as the + argument. The default value is no. + +--- vkb.c~ 2006-04-25 07:00:21.000000000 -0400 ++++ vkb.c 2006-04-25 07:00:37.000000000 -0400 +@@ -65,7 +65,7 @@ + static vkb_oper_t *oper; + + #ifdef HAVE_LADCCA +-cca_args_t * cca_args = NULL; ++lash_args_t * lash_args = NULL; + #endif + + /* +@@ -78,7 +78,7 @@ + int c, nargc; + + #ifdef HAVE_LADCCA +- cca_args = cca_extract_args(&argc, &argv); ++ lash_args = lash_extract_args(&argc, &argv); + #endif /* HAVE_LADCCA */ + + nargc = argc + 1; +--- vkb.h~ 2006-04-25 07:00:29.000000000 -0400 ++++ vkb.h 2006-04-25 07:00:37.000000000 -0400 +@@ -24,7 +24,7 @@ + #include + + #ifdef HAVE_LADCCA +-#include ++#include + #endif + + #ifndef VKB_TCLFILE diff --git a/vkeybd-makefile.patch b/vkeybd-makefile.patch deleted file mode 100644 index ef9f7fd..0000000 --- a/vkeybd-makefile.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/Makefile b/Makefile -index bd50fcc..a39d73f 100644 ---- a/Makefile -+++ b/Makefile -@@ -27,7 +27,7 @@ VKBLIB_DIR = $(DATA_DIR)/vkeybd - # device selections -- multiple avaialble - # to disable the device, set value 0 (do not comment out!) - # --USE_AWE = 1 -+USE_AWE = 0 - USE_MIDI = 1 - USE_ALSA = 1 - USE_LASH = 0 -@@ -35,10 +35,10 @@ USE_LASH = 0 - # - # Tcl/Tk library -- depends on your distribution - # --TCL_VERSION = 8.4 --TCLLIB = -ltcl$(TCL_VERSION) -+TCL_VERSION = 9.0 -+TCLLIB = -ltcl - TCLINC = --TKLIB = -ltk$(TCL_VERSION) -+TKLIB = -ltk - TKINC = - XLIB = -L/usr/X11R6/lib -lX11 - XINC = -I/usr/X11R6/include diff --git a/vkeybd-no-OSS.patch b/vkeybd-no-OSS.patch new file mode 100644 index 0000000..0b896f5 --- /dev/null +++ b/vkeybd-no-OSS.patch @@ -0,0 +1,11 @@ +--- Makefile~ 2007-10-08 14:43:25.000000000 -0700 ++++ Makefile 2007-10-08 14:44:57.000000000 -0700 +@@ -27,7 +27,7 @@ + # device selections -- multiple avaialble + # to disable the device, set value 0 (do not comment out!) + # +-USE_AWE = 1 ++USE_AWE = 0 + USE_MIDI = 1 + USE_ALSA = 1 + USE_LASH = 0 diff --git a/vkeybd-tcl8.5.patch b/vkeybd-tcl8.5.patch new file mode 100644 index 0000000..a0bd979 --- /dev/null +++ b/vkeybd-tcl8.5.patch @@ -0,0 +1,11 @@ +--- Makefile~ 2008-01-05 06:31:07.000000000 -0500 ++++ Makefile 2008-01-05 06:31:34.000000000 -0500 +@@ -35,7 +35,7 @@ + # + # Tcl/Tk library -- depends on your distribution + # +-TCL_VERSION = 8.4 ++TCL_VERSION = 8.5 + TCLLIB = -ltcl$(TCL_VERSION) + TCLINC = + TKLIB = -ltk$(TCL_VERSION) diff --git a/vkeybd.spec b/vkeybd.spec index bf34883..c416edf 100644 --- a/vkeybd.spec +++ b/vkeybd.spec @@ -1,29 +1,26 @@ -%if (0%{?fedora} && 0%{?fedora} < 19) || (0%{?rhel} && 0%{?rhel} < 7) -%global with_desktop_vendor_tag 1 -%else -%global with_desktop_vendor_tag 0 -%endif - Summary: Virtual MIDI keyboard Name: vkeybd -Version: 0.1.18f -Release: 4%{?dist} -# Automatically converted from old format: GPLv2+ - review is highly recommended. -License: GPL-2.0-or-later -URL: https://github.com/tiwai/%{name} -Source0: https://github.com/tiwai/%{name}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Version: 0.1.17a +Release: 12%{?dist} +License: GPLv2+ +Group: Applications/Multimedia +URL: http://www.alsa-project.org/~iwai/alsa.html +Source0: http://www.alsa-project.org/~iwai/vkeybd-0.1.17a.tar.bz2 Source1: vkeybd.png Source2: vkeybd.desktop -Patch0: vkeybd-makefile.patch +Patch0: vkeybd-lash.patch +Patch1: vkeybd-CFLAGS.patch +Patch2: vkeybd-lash-2.patch +Patch3: vkeybd-no-OSS.patch +Patch4: vkeybd-tcl8.5.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: make -BuildRequires: gcc -BuildRequires: tk-devel >= 1:9.0 +BuildRequires: tk-devel >= 1:8.5, tk-devel < 1:8.6 BuildRequires: lash-devel BuildRequires: desktop-file-utils -Requires: tk >= 1:9.0 +Requires: tk >= 1:8.5, tk > 1:8.5, lash Requires: hicolor-icon-theme %description @@ -32,31 +29,47 @@ It's a simple fake of a MIDI keyboard on X-windows system. Enjoy a music with your mouse and "computer" keyboard :-) %prep -%autosetup -p1 -sed -i -e 's|-Wall -O|$(RPM_OPT_FLAGS)|' Makefile +%setup -q -n vkeybd +%patch0 -p0 +%patch1 -p0 +%patch2 -p0 +%patch3 -p0 +%patch4 -p0 %build -%make_build USE_AWE=0 TCL_VERSION=9.0 PREFIX=%{_prefix} +make %{?_smp_mflags} USE_LADCCA=1 TCL_VERSION=8.5 PREFIX=%{_prefix} %install -%make_install USE_AWE=0 PREFIX=%{_prefix} -%make_install USE_AWE=0 PREFIX=%{_prefix} install-man -chmod 644 %{buildroot}/%{_mandir}/man1/* -chmod 755 %{buildroot}/%{_datadir}/vkeybd/vkeybd.tcl +rm -rf $RPM_BUILD_ROOT +make USE_LADCCA=1 PREFIX=%{_prefix} DESTDIR=$RPM_BUILD_ROOT install +make USE_LADCCA=1 PREFIX=%{_prefix} DESTDIR=$RPM_BUILD_ROOT install-man +chmod 644 $RPM_BUILD_ROOT/%{_mandir}/man1/* +chmod 755 $RPM_BUILD_ROOT/%{_datadir}/vkeybd/vkeybd.tcl -mkdir -p %{buildroot}/%{_datadir}/icons/hicolor/64x64/apps -install -m 644 %{SOURCE1} %{buildroot}/%{_datadir}/icons/hicolor/64x64/apps/vkeybd.png +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps +install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/vkeybd.png -mkdir -p %{buildroot}/%{_datadir}/applications -desktop-file-install \ -%if 0%{?with_desktop_vendor_tag} - --vendor fedora \ -%endif - --dir %{buildroot}/%{_datadir}/applications \ +mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications +desktop-file-install --vendor fedora \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ --add-category X-Fedora \ %{SOURCE2} +%clean +rm -rf $RPM_BUILD_ROOT + +%post +# update icon themes +touch --no-create %{_datadir}/icons/hicolor || : +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : + +%postun +# update icon themes +touch --no-create %{_datadir}/icons/hicolor || : +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : + %files +%defattr(-,root,root,-) %doc README ChangeLog %{_bindir}/vkeybd %{_bindir}/sftovkb @@ -66,118 +79,6 @@ desktop-file-install \ %{_datadir}/icons/hicolor/64x64/apps/vkeybd.png %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 0.1.18f-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Sat Jan 17 2026 Fedora Release Engineering - 0.1.18f-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Fri Jul 25 2025 Fedora Release Engineering - 0.1.18f-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Tue Jun 03 2025 Guido Aulisi - 0.1.18f-1 -- Update to 0.1.18f - -* Sun Jan 19 2025 Fedora Release Engineering - 0.1.18d-30 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Fri Jul 26 2024 Miroslav Suchý - 0.1.18d-29 -- convert license to SPDX - -* Sat Jul 20 2024 Fedora Release Engineering - 0.1.18d-28 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Sat Jan 27 2024 Fedora Release Engineering - 0.1.18d-27 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jul 22 2023 Fedora Release Engineering - 0.1.18d-26 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Jan 21 2023 Fedora Release Engineering - 0.1.18d-25 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 0.1.18d-24 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jan 22 2022 Fedora Release Engineering - 0.1.18d-23 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 0.1.18d-22 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jan 27 2021 Fedora Release Engineering - 0.1.18d-21 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 0.1.18d-20 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jan 31 2020 Fedora Release Engineering - 0.1.18d-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sat Jul 27 2019 Fedora Release Engineering - 0.1.18d-18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sun Feb 03 2019 Fedora Release Engineering - 0.1.18d-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jul 14 2018 Fedora Release Engineering - 0.1.18d-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Fri Feb 09 2018 Fedora Release Engineering - 0.1.18d-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Jan 18 2018 Igor Gnatenko - 0.1.18d-14 -- Remove obsolete scriptlets - -* Thu Aug 03 2017 Fedora Release Engineering - 0.1.18d-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 0.1.18d-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 0.1.18d-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Fri Feb 05 2016 Fedora Release Engineering - 0.1.18d-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Jun 19 2015 Fedora Release Engineering - 0.1.18d-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon Aug 18 2014 Fedora Release Engineering - 0.1.18d-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Tue Jun 17 2014 Yaakov Selkowitz - 0.1.18d-7 -- Update for tk8.6 (#1107101) - -* Sun Jun 08 2014 Fedora Release Engineering - 0.1.18d-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Wed May 21 2014 Jaroslav Škarvada - 0.1.18d-5 -- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86 - -* Sun Aug 04 2013 Fedora Release Engineering - 0.1.18d-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Tue May 14 2013 Jon Ciesla - 0.1.18d-3 -- Correctly macroize vendor tag handling. - -* Wed Feb 13 2013 Brendan Jones 0.1.18d-2 -- Reisntate vendor for < f19 - -* Mon Feb 11 2013 Brendan Jones 0.1.18d-1 -- Update to 0.1.18d - -* Sat Feb 09 2013 Parag Nemade - 0.1.17a-15 -- Remove vendor tag from desktop file as per https://fedorahosted.org/fesco/ticket/1077 -- Cleanup spec as per recently changed packaging guidelines - -* Sun Jul 22 2012 Fedora Release Engineering - 0.1.17a-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sat Jan 14 2012 Fedora Release Engineering - 0.1.17a-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - * Mon Feb 07 2011 Fedora Release Engineering - 0.1.17a-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild @@ -199,10 +100,10 @@ desktop-file-install \ * Sat Jan 05 2008 Marcela Maslanova 0.1.17a-6 - Upgrade to tcl8.5. -* Sun Oct 07 2007 Anthony Green 0.1.17a-5 +* Mon Oct 07 2007 Anthony Green 0.1.17a-5 - Add -no-OSS patch. -* Sun Oct 07 2007 Anthony Green 0.1.17a-4 +* Mon Oct 07 2007 Anthony Green 0.1.17a-4 - Rebuild for new lash. * Mon Feb 19 2007 Anthony Green 0.1.17a-3