1
0
mirror of https://github.com/gryf/gryf-overlay.git synced 2025-12-24 23:22:31 +01:00

Added new version of tvtime.

This commit is contained in:
2021-02-02 19:45:17 +01:00
parent f7a4535438
commit 6700fc39b1
9 changed files with 473 additions and 34 deletions

View File

@@ -1,34 +1,8 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
AUX tvtime-1.0.2-xinerama.patch 1292 RMD160 1c725852d9c692786614b0e3710a5c38682c1f5e SHA1 39c51a9f264111b6ca400778113d008231613551 SHA256 8177203fe7109782e9d20afa66456e4c21fc973d1fafaa160409b9be29570e5b
AUX tvtime-1.0.2_p20110131-autotools.patch 2519 RMD160 2caefca2215a67787774dd096c70d05dcd59f1f0 SHA1 f98c41c2cca295dc06ccdd13f7ab0bb7de7e0483 SHA256 5992ce49c0c76304911145e20c53505cf962f8e78ad0178d10fc177d4669b1b9
AUX tvtime-1.0.2_p20110131-gettext.patch 2443 RMD160 0f28fdbc151dce2a3f78d8e77a2b806e4280c87e SHA1 dc0a3b184d565ce53ae35f63003b3d8e40f31848 SHA256 efdb636f290ee653eb0215041141ea7c0226396425dbe26ff5c4c9edf86e1ebd
AUX tvtime-1.0.2_p20110131-libsupc++.patch 548 RMD160 af77a599ae572ada34825b6bb97675698f30cecf SHA1 e75c9fbbdc99d51fa9477ec4ff518340ddbc488e SHA256 3d155f21cd03bb98020504105768fb71922835f7180f454728b1e9637acddd7b
AUX tvtime-1.0.2_p20110131-underlinking.patch 480 RMD160 5f7789ba84d0e73ac61d604df31b6ad3e178a6da SHA1 992b9f13aff22528b967040c4b85877885c4a2b5 SHA256 dd9b27116a3fa5f5349d2a6aac94e1d29b777e07a266108d3bf7ff77f78cc65e
AUX tvtime-libpng-1.5.patch 449 RMD160 b5281d06d1365d0ed297497c96ba93ff497325b2 SHA1 ccd0506c59dd954e2fe2cc66033592185fc524ac SHA256 ab9842e0da83371d74bb75a67cc81fb056eeefbd1eaf592458e6e9986f38b27e
AUX tvtime-pic.patch 254 RMD160 31f3fb8937ae15c28ade1f55a1a6947bf31766cf SHA1 3d90369da57861933b7cb99597d85de60416a358 SHA256 db033fc267bf72034f49705680ced9d086b413efc9f947bd94b4e9117f808d41
DIST tvtime-1.0.2-alsa-fixes.patch 4304 RMD160 352e411ba87c88521cf5ce331c56945e0d1078ba SHA1 25e9b6b25219c08efe1dfc7e134c0f701250cd88 SHA256 827bb1eef552cf777a44ba52bcd13849485e1014bf492b06dbc38efd165da371
DIST tvtime-1.0.2-alsa-r1.patch 17031 RMD160 256580705c3e77bcf1b08256a8db80d749d04345 SHA1 18e06015ae569b291e4a412921f0ae78853ccc23 SHA256 fb97054807cb201c7d715c1da667975b4cb9aea0abb31c8d942a2e8d4c16f4ef
DIST tvtime-1.0.2-alsamixer-r1.patch 36504 RMD160 bf71724599eaacece996410834e4ac8fc7ec877b SHA1 65ae34312040a259f4264f46e573a9b4d48cecef SHA256 7cc68aad9f39772177a6eb3852ec1cd9882480988dbb2a7f8c7b83c8c1187399
DIST tvtime-1.0.2_p20110131.tar.bz2 3800555 RMD160 64d15f09f3ebfe4399115168d355689470a6d03a SHA1 71fddd2624debb719faa3dd03aa827e93d8eb6db SHA256 37f8f87b52519f80e3d49c7a619706da2c45b526f67e13cdda21fbdf17e1c583
EBUILD tvtime-1.0.2_p20110131-r3.ebuild 2711 RMD160 5ba0099cfc9cc9af91519d68cc3a1f5e17d43096 SHA1 58c03d548cdd84ccec03cf170aa2537d71c1ecba SHA256 0533502bbf0d1580f7640c69b772f9c5b2b8facb3defd24f15b8eb8f8959f82b
MISC ChangeLog 11284 RMD160 25c11c699eb65e7435635ad0dbd4768f04a0df3d SHA1 4eb36d7ebb303b663e4daadc0feccd6b535a5aa7 SHA256 a27b475a2a195c1516c6be45d0dfb6c3e2f942eea0f271f35bed8b63bafccee8
MISC metadata.xml 323 RMD160 dd9a72ec24e30429b359ef031607716c6e9a37ee SHA1 d562099ebee735d257d07094c3f513e8b8517436 SHA256 81592a762f758dd75a692d4bf3a156ccf9bf7b7516762dbb2042ce1f65d69f1d
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iQIcBAEBCAAGBQJP+uq8AAoJEIce3keOdAI4AIUP/AgVD5HxhZ+60nK1q7boTez9
4ff01UJs6xsYR64o3w0wSRWF5Pywa58w0mnL0ZVFvOcYM3FHfy12SDDrjb/RHiPj
CDxB5SFbop/nV1br3XeSuu8xy+G2Po0Y27qN8W0w92ug0412H5kaLRqF4nqgbmqm
PMkCU5xc8BQ/Ot5SyWrWTANJJNfhiiaBG+HD8cko/fuczfDrPGCXIXUNvovKyedv
p+2aiFFZMr7cAyPoHteo0NJyf+9hU6urM5CHMVGVN3vHmj8GQJjWbuWKP1TeS6D5
/U6XJvb/jzyssMJbHMHIDghpW8ZBEqL32B1pDFg3lI7ws8kCKCIbWnJXvF1mtFCG
bE4Wo8X9PqUiuEjsvc8M+f9YiOB0+CRBLopfm4XNw1T0+LPdsTxa4f39tfMEt6dO
E3rbS6BumalfdCAEkuNN5QZYdWNNUl8G8eW8yuXy8sE3QfsOck9miaUuBkInOweH
GisuOoSaCfGzhebBJY5UXnb4z7RzJyHtBcxg8U2jfacae2i9mMyBtSIaZBxK7Kz0
BMPfmq6JxYHt5H3A72VZ8mqk+zcTEXW1qjPWrNkHR/NZfAudiBuyJ3zclWoF5yct
XANXQ93XbZlwNlKALgoYQ5ly7chiCNt7wZ5KzmWRv3xHy2QqshKRSh/1IKyHH+8O
h8QYBgWORB66YMDIZAVJ
=GUWc
-----END PGP SIGNATURE-----
AUX tvtime-1.0.11-disable-insecure-temp-file.patch 716 BLAKE2B 792ea1799758a057a1e62ed9f96a1b08b7e46e698c8e03f112cb93c413752da8d0f004db00b9e7632d4bd118c9c0c956eb9f1e3e03f3bf19b9c05960bfaaea07 SHA512 a1400ba249f000fa5aaacbeafb83d5ae40de54590b70f89595fd6bcc3e913e293643373f3109501893cd2f43d93104b895fbb6dd73d07a887371f770c254a289
AUX tvtime-1.0.11-fix-warning-implicit-declaration-major.patch 794 BLAKE2B 0c64746923e9620a6334baa7cb18a8438d2ba9440d8c83b217c5ebdf9ace1e294e1c6af0815374654d3c8c1fee67492607eb4b9706eb994b8fad6a4e2d8afa11 SHA512 b99b0204526e323ee15888f4d40fb2abf7383256b043343bb9f5ddc0fd87b6708c1e08e4339a03ef9de1c62f47dc783ed014543a45317262837857504e17d881
AUX tvtime-1.0.11-freetype.patch 875 BLAKE2B 23a1073c65a79f6e57e4867e67be47457c81092c3a8133b5dbb4de9c868958970eb0c43de23b1252648fa371fb1aa8469af9c0a06a0b7bb855f24d83d0d437ba SHA512 a4fd54323b0c8e06ebe4b0627deff6dd3441b81bcd4f2774ac2eff68861acdc8b136e38dd3556dc23d9fbe8a94d01f3a7ee1507a05b7f7277058bd71d2278244
AUX tvtime-1.0.11-home.diff 1843 BLAKE2B 59914df86a70f7a8a5bec164ece09f40df364665a8d29e33b026a11f1a55ad74e252bd5d7cd58d043e72276d6e85e4ec2c580dd0190e0d80e7830d671d03271d SHA512 3687e59b58b1a48842bd940c660138abc003e91c8e7dfc5dfe961cba774f4189c080bdc385515f764332c15a160cc81e916edb0d8e275157aa0f313689d80a72
AUX tvtime-1.0.11-libxml2.patch 2270 BLAKE2B ae62f5874195ad4166acec25e16c76609ccb95734336237c61e240de4222a9455e00e712d13e9043fa84193fc559424a6a59dd3f75d492b0b04a27f9e8ad5356 SHA512 3c8c108adcfb9910c56b2ca4cd83d03f032e8ccdfc8cc8260dee1f56bfdc534138beda6dc54977e522b45cd5abd258356befeffd0ee7e1cb378143b1bd03a108
AUX tvtime-1.0.11-metainfo.patch 538 BLAKE2B 9c52b99b39830628a2f6f78fd98b01d7b71b9cbf5bd8ce88a2b3e48b9a431bcb5293d640687d99e65a846790a783c3f0f0a67165a7897b4c7f35045cf10e60c8 SHA512 614b9f3341e79a9adb0c14f1ab0e70e7ca4fa35a75d6cefddfde213e76a896358f261a35fa88834565fafc36c06d220a565dffd4b63a3fdbcea986828b716043
AUX tvtime-1.0.11-saveconfig.patch 7403 BLAKE2B 09f2fad78e3600778c773596ee731db123397c912c299333b2291e7cc4b8efb71f458eb25f94d55b39e7fda06d9da41f21ddec347aaa2f190865a727ed587dad SHA512 f9ff4460103616e4a5067e17becf83ca25e813d367ebc945dcb603aadce5dc8916f0c1feaf0baa96d1e441ab568b678405747efc5e45262e1595ef052c8469d5
EBUILD tvtime-1.0.11-r6.ebuild 1221 BLAKE2B 313f64ac080235c4ba84c139a994a8d58b7cb0cab109280044fde009db7b8218710058a1400fd5cd3a3b218688df988e3ecba683a6a3cdad438792ce9413ad1b SHA512 c84c29333a26676ce4efbe1bfea237c111f64261d93d32ce65751ec7926c9249d2bccd878c49dbb9376aa6add4acd88bcf15d1fad7c90f6242876999d845eabd

View File

@@ -0,0 +1,25 @@
--- a/src/utils.c
+++ b/src/utils.c
@@ -202,17 +202,11 @@
}
}
- /* If we can't use our /tmp directory, put the fifo in $HOME. */
- if( !mkdir_and_force_owner( fifodir, uid, getgid() ) ) {
- if( asprintf( &fifo, "%s/.tvtime/tvtimefifo-%s",
- getenv( "HOME" ), hostname ) < 0 ) {
- fifo = 0;
- }
- } else {
- if( asprintf( &fifo, "%s/tvtimefifo-%s", fifodir, hostname ) < 0 ) {
- fifo = 0;
- }
- }
+ /* put the fifo in $HOME */
+ if( asprintf( &fifo, "%s/.tvtime/tvtimefifo-%s",
+ getenv( "HOME" ), hostname ) < 0 ) {
+ fifo = 0;
+ }
free( hostname );
free( fifodir );
return fifo;

View File

@@ -0,0 +1,26 @@
From bfa96fec44b7db78b43b9b8d20d7ca02616f70ed Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Mon, 13 Aug 2018 17:41:57 +0200
Subject: Fix: "warning: implicit declaration of function 'minor' / 'major'"
errors
Fix the "warning: implicit declaration of function 'minor' / 'major'"
compiler warnings which ultimately lead to the following build error:
src/get_media_devices.c:522: undefined reference to `major'
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
src/get_media_devices.c | 1 +
1 file changed, 1 insertion(+)
--- a/src/get_media_devices.c
+++ b/src/get_media_devices.c
@@ -23,6 +23,7 @@
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/sysmacros.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>

View File

@@ -0,0 +1,30 @@
Description: Use pkg-config for finding freetype
Author: Adrian Bunk <bunk@debian.org>
Bug-Debian: https://bugs.debian.org/892455
--- a/configure.ac
+++ b/configure.ac
@@ -71,10 +71,7 @@
dnl freetype
dnl ---------------------------------------------
dnl Test for freetype
-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
-if test "$FREETYPE_CONFIG" = "no" ; then
- AC_MSG_ERROR(freetype2 needed and freetype-config not found)
-fi
+PKG_CHECK_MODULES(TTF, freetype2)
dnl ---------------------------------------------
dnl libxml2
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -19,9 +19,6 @@
tmpdir = /tmp
localedir = $(datadir)/locale
-TTF_CFLAGS = `$(FREETYPE_CONFIG) --cflags`
-TTF_LIBS = `$(FREETYPE_CONFIG) --libs`
-
# Set the following if you want to specify an additional font directory
# FONT_CFLAGS = -DFONTDIR='/usr/share/fonts/truetype/freefont/'

View File

@@ -0,0 +1,65 @@
--- a/src/tvtime-command.c
+++ b/src/tvtime-command.c
@@ -39,6 +39,9 @@
int main( int argc, char **argv )
{
+ if( ! getenv( "HOME" ) ) { fprintf( stderr, "this program needs HOME\n" ); exit( 1 ); }
+ if( strlen( getenv( "HOME" ) ) > 230 ) { fprintf( stderr, "HOME is too long\n" ); exit( 1 ); }
+
int nc = tvtime_num_commands();
config_t *cfg;
FILE *fifo;
--- a/src/tvtime-configure.c
+++ b/src/tvtime-configure.c
@@ -19,6 +19,8 @@
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <string.h>
+#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#ifdef HAVE_CONFIG_H
@@ -35,6 +37,9 @@
int main( int argc, char **argv )
{
+ if( ! getenv( "HOME" ) ) { fprintf( stderr, "this program needs HOME\n" ); exit( 1 ); }
+ if( strlen( getenv( "HOME" ) ) > 230 ) { fprintf( stderr, "HOME is too long\n" ); exit( 1 ); }
+
config_t *cfg;
/*
--- a/src/tvtime-scanner.c
+++ b/src/tvtime-scanner.c
@@ -24,6 +24,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
+#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#ifdef HAVE_CONFIG_H
@@ -47,6 +48,9 @@
int main( int argc, char **argv )
{
+ if( ! getenv( "HOME" ) ) { fprintf( stderr, "this program needs HOME\n" ); exit( 1 ); }
+ if( strlen( getenv( "HOME" ) ) > 230 ) { fprintf( stderr, "HOME is too long\n" ); exit( 1 ); }
+
config_t *cfg;
station_mgr_t *stationmgr = 0;
videoinput_t *vidin;
--- a/src/tvtime.c
+++ b/src/tvtime.c
@@ -2624,6 +2624,9 @@
int main( int argc, char **argv )
{
+ if( ! getenv( "HOME" ) ) { fprintf( stderr, "this program needs HOME\n" ); exit( 1 ); }
+ if( strlen( getenv( "HOME" ) ) > 230 ) { fprintf( stderr, "HOME is too long\n" ); exit( 1 ); }
+
rtctimer_t *rtctimer = 0;
int read_stdin = 1;
int result = 0;

View File

@@ -0,0 +1,53 @@
Description: Use pkg-config instead of xml2-config
Author: Adrian Bunk <bunk@debian.org>
Bug-Debian: https://bugs.debian.org/949507
--- tvtime-1.0.11.orig/configure.ac
+++ tvtime-1.0.11/configure.ac
@@ -77,16 +77,7 @@ dnl ------------------------------------
dnl libxml2
dnl ---------------------------------------------
dnl Test for libxml2
-AC_PATH_PROG(LIBXML2_CONFIG,xml2-config,no)
-if test "$LIBXML2_CONFIG" = "no" ; then
- AC_MSG_ERROR(libxml2 needed and xml2-config not found)
-else
- XML2_LIBS="`$LIBXML2_CONFIG --libs`"
- XML2_FLAG="`$LIBXML2_CONFIG --cflags`"
- AC_DEFINE(HAVE_LIBXML2,,[LIBXML2 support])
-fi
-AC_SUBST(XML2_LIBS)
-AC_SUBST(XML2_FLAG)
+PKG_CHECK_MODULES(XML2, libxml-2.0)
dnl ---------------------------------------------
dnl libasound2
--- tvtime-1.0.11.orig/src/Makefile.am
+++ tvtime-1.0.11/src/Makefile.am
@@ -78,22 +78,22 @@ bin_PROGRAMS = tvtime tvtime-command tvt
tvtime_SOURCES = $(COMMON_SRCS) $(OUTPUT_SRCS) $(PLUGIN_SRCS) tvtime.c
tvtime_CFLAGS = $(TTF_CFLAGS) $(PNG_CFLAGS) $(OPT_CFLAGS) \
- $(PLUGIN_CFLAGS) $(X11_CFLAGS) $(XML2_FLAG) $(ALSA_CFLAGS) \
+ $(PLUGIN_CFLAGS) $(X11_CFLAGS) $(XML2_CFLAGS) $(ALSA_CFLAGS) \
$(FONT_CFLAGS) $(AM_CFLAGS)
tvtime_LDFLAGS = $(TTF_LIBS) $(ZLIB_LIBS) $(PNG_LIBS) \
$(X11_LIBS) $(XML2_LIBS) $(ALSA_LIBS) -lm
tvtime_command_SOURCES = utils.h utils.c tvtimeconf.h tvtimeconf.c \
tvtime-command.c
-tvtime_command_CFLAGS = $(OPT_CFLAGS) $(XML2_FLAG) $(AM_CFLAGS)
+tvtime_command_CFLAGS = $(OPT_CFLAGS) $(XML2_CFLAGS) $(AM_CFLAGS)
tvtime_command_LDFLAGS = $(ZLIB_LIBS) $(XML2_LIBS)
tvtime_configure_SOURCES = utils.h utils.c tvtimeconf.h tvtimeconf.c \
tvtime-configure.c
-tvtime_configure_CFLAGS = $(OPT_CFLAGS) $(XML2_FLAG) $(AM_CFLAGS)
+tvtime_configure_CFLAGS = $(OPT_CFLAGS) $(XML2_CFLAGS) $(AM_CFLAGS)
tvtime_configure_LDFLAGS = $(ZLIB_LIBS) $(XML2_LIBS)
tvtime_scanner_SOURCES = utils.h utils.c videoinput.h videoinput.c \
tvtimeconf.h tvtimeconf.c station.h station.c tvtime-scanner.c \
get_media_devices.c get_media_devices.h
-tvtime_scanner_CFLAGS = $(OPT_CFLAGS) $(XML2_FLAG) $(ALSA_CFLAGS) $(AM_CFLAGS)
+tvtime_scanner_CFLAGS = $(OPT_CFLAGS) $(XML2_CFLAGS) $(ALSA_CFLAGS) $(AM_CFLAGS)
tvtime_scanner_LDFLAGS = $(ZLIB_LIBS) $(XML2_LIBS) $(ALSA_LIBS)

View File

@@ -0,0 +1,12 @@
diff -ur tvtime-orig/docs/Makefile.am tvtime/docs/Makefile.am
--- tvtime-orig/docs/Makefile.am 2021-02-02 19:37:13.096223652 +0100
+++ tvtime/docs/Makefile.am 2021-02-02 19:38:42.888221598 +0100
@@ -34,7 +34,7 @@
# http://www.freedesktop.org/standards/desktop-entry-spec/
desktopdatadir = $(datadir)/applications
dist_desktopdata_DATA = tvtime.desktop
-appdatadir = $(datadir)/appdata
+appdatadir = $(datadir)/metainfo
dist_appdata_DATA = tvtime.appdata.xml
# We use $(datadir)/icons/hicolor as our theme from the freedesktop spec

View File

@@ -0,0 +1,200 @@
--- a/src/tvtimeconf.c
+++ b/src/tvtimeconf.c
@@ -34,6 +34,7 @@
#include <errno.h>
#include <libxml/parser.h>
#include <math.h>
+#include <libgen.h>
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
@@ -596,7 +597,30 @@
}
xmlKeepBlanksDefault( 0 );
- xmlSaveFormatFile( config_filename, doc, 1 );
+
+ if( create_file )
+ {
+ char *temp_config_filename = strdup( config_filename );
+
+ if( ! temp_config_filename )
+ {
+ fprintf( stderr, "strdup failed for config_filename %s\n", config_filename );
+ xmlFreeDoc( doc );
+ return 0;
+ }
+
+ mkdir_and_force_owner( dirname( temp_config_filename ), getuid(), getgid() );
+
+ free( temp_config_filename );
+ }
+
+ if( xmlSaveFormatFile( config_filename, doc, 1 ) == -1 )
+ {
+ fprintf( stderr, "xmlSaveFormatFile returned -1 for config_filename %s\n", config_filename );
+ xmlFreeDoc( doc );
+ return 0;
+ }
+
if( create_file ) {
if( chown( config_filename, getuid(), getgid() ) < 0 ) {
lfprintf( stderr, _("Cannot change owner of %s: %s.\n"),
@@ -897,14 +921,6 @@
ct->buttonmapmenu[ 4 ] = TVTIME_MENU_UP;
ct->buttonmapmenu[ 5 ] = TVTIME_MENU_DOWN;
- /* Make the ~/.tvtime directory every time on startup, to be safe. */
- if( asprintf( &temp_dirname, "%s/.tvtime", getenv( "HOME" ) ) < 0 ) {
- /* FIXME: Clean up ?? */
- return 0;
- }
- mkdir_and_force_owner( temp_dirname, ct->uid, getgid() );
- free( temp_dirname );
-
/* First read in global settings. */
asprintf( &base, "%s/tvtime.xml", CONFDIR );
if( file_is_openable_for_read( base ) ) {
@@ -1113,6 +1129,7 @@
int option_index = 0;
int filename_specified = 0;
int c;
+ int config_needs_saving = 0;
if( argc == 1 ) {
print_config_usage( argv );
@@ -1123,11 +1140,11 @@
"aAhmMF:g:I:d::b::i::c:n::D:f::x:t::Ll::R::p::P::z::",
long_options, &option_index )) != -1 ) {
switch( c ) {
- case 'a': ct->aspect = 1; break;
- case 'A': ct->aspect = 0; break;
- case 'm': ct->fullscreen = 1; break;
- case 'L': ct->borderless = 1; break;
- case 'M': ct->fullscreen = 0; break;
+ case 'a': ct->aspect = 1; config_needs_saving = 1; break;
+ case 'A': ct->aspect = 0; config_needs_saving = 1; break;
+ case 'm': ct->fullscreen = 1; config_needs_saving = 1; break;
+ case 'L': ct->borderless = 1; config_needs_saving = 1; break;
+ case 'M': ct->fullscreen = 0; config_needs_saving = 1; break;
case 'F': if( ct->config_filename ) free( ct->config_filename );
filename_specified = 1;
ct->config_filename = expand_user_path( optarg );
@@ -1137,18 +1154,20 @@
ct->config_filename );
conf_xml_parse( ct, ct->config_filename );
}
+ // intentionally not : config_needs_saving = 1;
break;
case 'x': if( ct->mixerdev ) { free( ct->mixerdev ); }
- ct->mixerdev = strdup( optarg ); break;
+ ct->mixerdev = strdup( optarg ); config_needs_saving = 1; break;
case 'g': if( ct->geometry ) { free( ct->geometry ); }
- ct->geometry = strdup( optarg ); break;
- case 'I': ct->inputwidth = atoi( optarg ); break;
+ ct->geometry = strdup( optarg ); config_needs_saving = 1; break;
+ case 'I': ct->inputwidth = atoi( optarg ); config_needs_saving = 1; break;
case 'd': if( !optarg ) {
fprintf( stdout, "V4LDevice:%s\n",
config_get_v4l_device( ct ) );
} else {
free( ct->v4ldev );
ct->v4ldev = strdup( optarg );
+ config_needs_saving = 1;
}
break;
case 'b': if( !optarg ) {
@@ -1157,6 +1176,7 @@
} else {
free( ct->vbidev );
ct->vbidev = strdup( optarg );
+ config_needs_saving = 1;
}
break;
case 'i': if( !optarg ) {
@@ -1164,16 +1184,18 @@
config_get_inputnum( ct ) );
} else {
ct->inputnum = atoi( optarg );
+ config_needs_saving = 1;
}
break;
case 'c': ct->prev_channel = ct->start_channel;
- ct->start_channel = atoi( optarg ); break;
+ ct->start_channel = atoi( optarg ); config_needs_saving = 1; break;
case 't': if( !optarg ) {
fprintf( stdout, "XMLTVFile:%s\n",
config_get_xmltv_file( ct ) );
} else {
if( ct->xmltvfile ) free( ct->xmltvfile );
ct->xmltvfile = expand_user_path( optarg );
+ config_needs_saving = 1;
}
break;
case 'l': if( !optarg ) {
@@ -1182,6 +1204,7 @@
} else {
if( ct->xmltvlanguage ) free( ct->xmltvlanguage );
ct->xmltvlanguage = strdup( optarg );
+ config_needs_saving = 1;
}
break;
case 'n': if( !optarg ) {
@@ -1189,6 +1212,7 @@
} else {
free( ct->norm );
ct->norm = strdup( optarg );
+ config_needs_saving = 1;
}
break;
case 'f': if( !optarg ) {
@@ -1197,6 +1221,7 @@
} else {
free( ct->freq );
ct->freq = strdup( optarg );
+ config_needs_saving = 1;
}
break;
case 'R': if( !optarg ) {
@@ -1204,6 +1229,7 @@
config_get_priority( ct ) );
} else {
ct->priority = atoi( optarg );
+ config_needs_saving = 1;
}
break;
case 'p': if( !optarg ) {
@@ -1212,6 +1238,7 @@
} else {
free( ct->alsa_inputdev );
ct->alsa_inputdev = strdup( optarg );
+ config_needs_saving = 1;
}
break;
case 'P': if( !optarg ) {
@@ -1220,6 +1247,7 @@
} else {
free( ct->alsa_outputdev );
ct->alsa_outputdev = strdup( optarg );
+ config_needs_saving = 1;
}
break;
case 'z': if( !optarg ) {
@@ -1227,6 +1255,7 @@
config_get_alsa_latency( ct ) );
} else {
ct->alsa_latency = atoi( optarg );
+ config_needs_saving = 1;
}
break;
default:
@@ -1235,6 +1264,9 @@
}
}
+ if( ! config_needs_saving )
+ return 1;
+
if( !filename_specified ) {
char *fifofile = get_tvtime_fifo_filename( config_get_uid( ct ) );
int fifofd;

View File

@@ -0,0 +1,54 @@
# Copyright 1999-2021 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools eutils git-r3
DESCRIPTION="High quality television application for use with video capture cards"
HOMEPAGE="https://git.linuxtv.org/tvtime.git/about/"
EGIT_REPO_URI="https://git.linuxtv.org/tvtime.git"
EGIT_COMMIT="v${PV}"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~amd64-linux ~arm-linux ~x86-linux"
IUSE="nls static xinerama"
RDEPEND="dev-libs/icu
dev-libs/libxml2
media-libs/alsa-lib
media-libs/freetype
media-libs/libpng
sys-libs/zlib
x11-libs/libICE
x11-libs/libXScrnSaver
x11-libs/libXext
x11-libs/libXv
x11-libs/libXxf86vm
xinerama? ( x11-libs/libXinerama )"
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}/${P}-saveconfig.patch"
"${FILESDIR}/${P}-home.diff"
"${FILESDIR}/${P}-freetype.patch"
"${FILESDIR}/${P}-fix-warning-implicit-declaration-major.patch"
"${FILESDIR}/${P}-disable-insecure-temp-file.patch"
"${FILESDIR}/${P}-libxml2.patch"
"${FILESDIR}/${P}-metainfo.patch"
)
src_prepare() {
eapply ${PATCHES[@]}
eapply_user
eautoreconf
}
src_configure() {
econf \
$(use_enable nls) \
$(use_enable static) \
$(use_with xinerama) \
|| die "econf failed"
}