openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
August 2017
- 1 participants
- 2097 discussions
Hello community,
here is the log from the commit of package xtrabackup for openSUSE:Factory checked in at 2017-08-24 18:48:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xtrabackup (Old)
and /work/SRC/openSUSE:Factory/.xtrabackup.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xtrabackup"
Thu Aug 24 18:48:37 2017 rev:41 rq:515222 version:2.4.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/xtrabackup/xtrabackup.changes 2017-03-02 19:29:14.668338387 +0100
+++ /work/SRC/openSUSE:Factory/.xtrabackup.new/xtrabackup.changes 2017-08-24 18:48:41.300768389 +0200
@@ -1,0 +2,94 @@
+Tue Aug 8 15:54:11 UTC 2017 - astieger(a)suse.com
+
+- Percona XtraBackup 2.4.8:
+ * Support MySQL 5.7, rebased to MySQL 5.7.13
+ * Support for InnoDB tablespace encryption
+ add --reencrypt-for-server-id option
+ * Support SHA256 passwords (via SSL connection)
+ * Support command options for secure connections
+ * xbcrypt format changes, backups are incompatible with 2.3.x
+ * Add --remove-original option to remove encrypted/compressed
+ files after operations
+ * Use hwardware accellerated crc32 implementaiton
+ * Add options to exclude tables (--tables-exclude) and databases
+ (--databases-exclude) from backup
+ * xbstream now supports parallel extraction (--parallel)
+ * xbstream now supports --decrypt, --encrypt-threads,
+ --encrypt-key, --encrypt-key-file for decryption
+ * Add options for MDL locking (--lock-ddl, --lock-ddl-timeout,
+ --lock-ddl-per-table)
+- packaging changes:
+ * bundle boost 1.59.0
+ * dropped patches:
+ percona-xtrabackup-2.2.x-srv_buf_size.patch
+ percona-xtrabackup-2.3.8-gcc7-fallthrough.patch
+ percona-xtrabackup-2.3.8-gcc7-pointer-comparisons.patch
+
+-------------------------------------------------------------------
+Tue Aug 8 11:45:45 UTC 2017 - astieger(a)suse.com
+
+- Percona Xtrabackup 2.3.9:
+ * New --check-privileges option to check for system privileges
+ * Fix crash during prepare stage if index compaction was enabled
+ * Support building with OpenSSL 1.1
+ * xbstream could run out of file descriptors while extracting
+ backups which contains many tables
+ * Fix determining use of master_auto_postion on a slave to avoid
+ generating an invalid xtrabackup_slave_info file
+ * Fix crash backing up MariaDB 10.2.x with --ftwrl-* options
+ * Along with xtrabackup_checkpints file, xtrabackup now copies
+ xtrabackup_info file into directory specified by --extra-lsndir
+ * GTID position was not recorded when --binlog-info option was
+ set to AUTO
+ * bundled, patched libarchive updated to 3.3.1
+
+-------------------------------------------------------------------
+Fri Jun 2 18:28:27 UTC 2017 - astieger(a)suse.com
+
+- fix build with gcc7 bsc#1041250:
+ * percona-xtrabackup-2.3.8-gcc7-fallthrough.patch
+ * percona-xtrabackup-2.3.8-gcc7-pointer-comparisons.patch
+
+-------------------------------------------------------------------
+Wed May 10 14:53:48 UTC 2017 - mrueckert(a)suse.de
+
+- dont build shared libs for now.
+
+-------------------------------------------------------------------
+Wed May 10 14:20:30 UTC 2017 - mrueckert(a)suse.de
+
+- enable building with system ssl
+
+-------------------------------------------------------------------
+Wed May 10 14:10:59 UTC 2017 - mrueckert(a)suse.de
+
+- update to 2.3.8
+ - New Features
+ - Percona XtraBackup now uses hardware accelerated
+ implementation of crc32 where it is supported.
+ - Percona XtraBackup has implemented new options: xtrabackup
+ --tables-exclude and xtrabackup --databases-exclude that work
+ similar to xtrabackup --tables and xtrabackup --databases
+ options, but exclude given names/paths from backup.
+ - The xbstream binary now supports parallel extraction with the
+ --parallel option.
+ - The xbstream binary now supports following new options:
+ --decrypt, --encrypt-threads, --encrypt-key, and
+ --encrypt-key-file. When --decrypt option is specified
+ xbstream will automatically decrypt encrypted files when
+ extracting input stream. Either --encrypt-key or
+ --encrypt-key-file options must be specified to provide
+ encryption key, but not both. Option --encrypt-threads
+ specifies the number of worker threads doing the encryption,
+ default is 1.
+ - Bugs fixed
+ - xtrabackup would not create fresh InnoDB redo logs when
+ preparing incremental backup. Bug fixed #1669592.
+ - xtrabackup --export can now export tables that have more than
+ 31 index. Bug fixed #1089681.
+ - Unrecognized character \x01; marked by <-- HERE message could
+ be seen if backups were taken with the version check enabled.
+ Bug fixed #1651978.
+- refreshed percona-xtrabackup-2.3.2-unbundle-jsnm.patch
+
+-------------------------------------------------------------------
Old:
----
percona-xtrabackup-2.2.x-srv_buf_size.patch
percona-xtrabackup-2.3.7-nodoc.tar.xz
New:
----
boost_1_59_0.tar.bz2
percona-xtrabackup-2.4.8-nodoc.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xtrabackup.spec ++++++
--- /var/tmp/diff_new_pack.9cQTE5/_old 2017-08-24 18:48:43.128511037 +0200
+++ /var/tmp/diff_new_pack.9cQTE5/_new 2017-08-24 18:48:43.132510473 +0200
@@ -17,7 +17,7 @@
Name: xtrabackup
-Version: 2.3.7
+Version: 2.4.8
Release: 0
Summary: Online backup for MySQL / InnoDB
License: GPL-2.0
@@ -26,8 +26,8 @@
# stripped source tarball generated from URL below using xtrabackup-nodoc.sh
# https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-%%{version}…
Source: percona-xtrabackup-%{version}-nodoc.tar.xz
+Source2: https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.…
Source4: xtrabackup-nodoc.sh
-Patch1: percona-xtrabackup-2.2.x-srv_buf_size.patch
Patch3: percona-xtrabackup-2.2.9-nodoc.patch
Patch4: percona-xtrabackup-2.3.3-disable-version-check.patch
Patch5: percona-xtrabackup-2.3.2-unbundle-jsnm.patch
@@ -57,7 +57,6 @@
# This is to ease migration from Percona's generic packages
Provides: percona-xtrabackup = %{version}
Obsoletes: percona-xtrabackup < %{version}
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Percona XtraBackup is an online (non-blocking) backup solution for InnoDB
@@ -74,14 +73,13 @@
This package contains the test suite for Percona XtraBackup %{version}
%prep
-%setup -q -n percona-xtrabackup-%{version}
+%setup -q -n percona-xtrabackup-%{version} -a 2
# refuse to build from source tarballs with documentation due to license
%{__find} -maxdepth 1 -type d -iname "doc*" -print && exit 1
%{__find} storage/innobase/xtrabackup -maxdepth 1 -type d -iname "doc*" -print && exit 1
rm -rf storage/innobase/xtrabackup/src/jsmn
-%patch1 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
@@ -93,8 +91,10 @@
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -pie -Wl,-z,relro,-z,now" \
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -pie -Wl,-z,relro,-z,now" \
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -pie -Wl,-z,relro,-z,now" \
- -DBUILD_CONFIG=xtrabackup_release \
- -DINSTALL_MYSQLTESTDIR=%{_datadir}/percona-xtrabackup-test
+ -DBUILD_CONFIG=xtrabackup_release -DWITH_SSL=system \
+ -DINSTALL_MYSQLTESTDIR=%{_datadir}/percona-xtrabackup-test \
+ -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_STATIC_LIBS:BOOL=ON \
+ -DWITH_BOOST=../boost_1_59_0
make %{?_smp_mflags}
@@ -102,17 +102,15 @@
%cmake_install
%files
-%defattr(-,root,root,-)
+%doc COPYING
%{_bindir}/innobackupex
%{_bindir}/xtrabackup
%{_bindir}/xbstream
%{_bindir}/xbcrypt
%{_bindir}/xbcloud
%{_bindir}/xbcloud_osenv
-%doc COPYING
%files test
-%defattr(-,root,root,-)
%{_datadir}/percona-xtrabackup-test
%changelog
++++++ percona-xtrabackup-2.3.2-unbundle-jsnm.patch ++++++
--- /var/tmp/diff_new_pack.9cQTE5/_old 2017-08-24 18:48:43.196501464 +0200
+++ /var/tmp/diff_new_pack.9cQTE5/_new 2017-08-24 18:48:43.208499774 +0200
@@ -1,11 +1,11 @@
-Index: percona-xtrabackup-2.3.2/storage/innobase/xtrabackup/src/CMakeLists.txt
+Index: percona-xtrabackup-2.3.8/storage/innobase/xtrabackup/src/CMakeLists.txt
===================================================================
---- percona-xtrabackup-2.3.2.orig/storage/innobase/xtrabackup/src/CMakeLists.txt
-+++ percona-xtrabackup-2.3.2/storage/innobase/xtrabackup/src/CMakeLists.txt
-@@ -18,7 +18,6 @@ INCLUDE(curl)
- INCLUDE(libev)
+--- percona-xtrabackup-2.3.8.orig/storage/innobase/xtrabackup/src/CMakeLists.txt
++++ percona-xtrabackup-2.3.8/storage/innobase/xtrabackup/src/CMakeLists.txt
+@@ -19,7 +19,6 @@ INCLUDE(libev)
ADD_SUBDIRECTORY(libarchive)
+ ADD_SUBDIRECTORY(crc)
-ADD_SUBDIRECTORY(jsmn)
FIND_GCRYPT()
++++++ percona-xtrabackup-2.3.3-disable-version-check.patch ++++++
--- /var/tmp/diff_new_pack.9cQTE5/_old 2017-08-24 18:48:43.232496395 +0200
+++ /var/tmp/diff_new_pack.9cQTE5/_new 2017-08-24 18:48:43.232496395 +0200
@@ -1,17 +1,17 @@
-Index: percona-xtrabackup-2.3.6/storage/innobase/xtrabackup/src/backup_copy.cc
+Index: percona-xtrabackup-2.4.8/storage/innobase/xtrabackup/src/backup_copy.cc
===================================================================
---- percona-xtrabackup-2.3.6.orig/storage/innobase/xtrabackup/src/backup_copy.cc 2016-11-25 10:05:53.000000000 +0100
-+++ percona-xtrabackup-2.3.6/storage/innobase/xtrabackup/src/backup_copy.cc 2017-01-14 11:26:58.039337272 +0100
-@@ -48,7 +48,7 @@ Place, Suite 330, Boston, MA 02111-1307
+--- percona-xtrabackup-2.4.8.orig/storage/innobase/xtrabackup/src/backup_copy.cc 2017-07-20 14:29:48.000000000 +0200
++++ percona-xtrabackup-2.4.8/storage/innobase/xtrabackup/src/backup_copy.cc 2017-08-08 15:26:08.969853105 +0200
+@@ -51,7 +51,7 @@ Place, Suite 330, Boston, MA 02111-1307
#include <set>
#include <string>
#include <mysqld.h>
-#include <version_check_pl.h>
+/* #include <version_check_pl.h> */
#include <sstream>
+ #include <algorithm>
#include "fil_cur.h"
- #include "xtrabackup.h"
-@@ -1954,6 +1954,7 @@ decrypt_decompress()
+@@ -2040,6 +2040,7 @@ decrypt_decompress()
return(ret);
}
@@ -19,16 +19,16 @@
void
version_check()
{
-@@ -1984,3 +1985,4 @@ version_check()
+@@ -2070,3 +2071,4 @@ version_check()
pclose(pipe);
}
+*/
-Index: percona-xtrabackup-2.3.6/storage/innobase/xtrabackup/src/backup_copy.h
+Index: percona-xtrabackup-2.4.8/storage/innobase/xtrabackup/src/backup_copy.h
===================================================================
---- percona-xtrabackup-2.3.6.orig/storage/innobase/xtrabackup/src/backup_copy.h 2016-11-25 10:05:53.000000000 +0100
-+++ percona-xtrabackup-2.3.6/storage/innobase/xtrabackup/src/backup_copy.h 2017-01-14 11:26:58.039337272 +0100
-@@ -41,8 +41,10 @@ bool
+--- percona-xtrabackup-2.4.8.orig/storage/innobase/xtrabackup/src/backup_copy.h 2017-07-20 14:29:48.000000000 +0200
++++ percona-xtrabackup-2.4.8/storage/innobase/xtrabackup/src/backup_copy.h 2017-08-08 15:26:08.969853105 +0200
+@@ -43,8 +43,10 @@ bool
copy_back();
bool
decrypt_decompress();
@@ -39,11 +39,11 @@
bool
is_path_separator(char);
bool
-Index: percona-xtrabackup-2.3.6/storage/innobase/xtrabackup/src/CMakeLists.txt
+Index: percona-xtrabackup-2.4.8/storage/innobase/xtrabackup/src/CMakeLists.txt
===================================================================
---- percona-xtrabackup-2.3.6.orig/storage/innobase/xtrabackup/src/CMakeLists.txt 2016-11-25 10:05:53.000000000 +0100
-+++ percona-xtrabackup-2.3.6/storage/innobase/xtrabackup/src/CMakeLists.txt 2017-01-14 11:26:58.043337306 +0100
-@@ -25,11 +25,11 @@ FIND_CURL()
+--- percona-xtrabackup-2.4.8.orig/storage/innobase/xtrabackup/src/CMakeLists.txt 2017-07-20 14:29:48.000000000 +0200
++++ percona-xtrabackup-2.4.8/storage/innobase/xtrabackup/src/CMakeLists.txt 2017-08-08 15:26:08.969853105 +0200
+@@ -28,11 +28,11 @@ FIND_CURL()
FIND_EV()
# xxd is needed to embed version_check script
@@ -59,7 +59,7 @@
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/include
-@@ -52,13 +52,13 @@ ADD_DEFINITIONS(${SSL_DEFINES})
+@@ -56,13 +56,13 @@ ADD_DEFINITIONS(${SSL_DEFINES})
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/xtrabackup_version.h.in
${CMAKE_CURRENT_BINARY_DIR}/xtrabackup_version.h )
@@ -77,13 +77,13 @@
+#ADD_CUSTOM_TARGET(GenVersionCheck
+# DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/version_check_pl.h)
- SET_SOURCE_FILES_PROPERTIES(
- xtrabackup.cc
-Index: percona-xtrabackup-2.3.6/storage/innobase/xtrabackup/src/xtrabackup.cc
+ ADD_COMPILE_FLAGS(
+ keyring.cc
+Index: percona-xtrabackup-2.4.8/storage/innobase/xtrabackup/src/xtrabackup.cc
===================================================================
---- percona-xtrabackup-2.3.6.orig/storage/innobase/xtrabackup/src/xtrabackup.cc 2016-11-25 10:05:53.000000000 +0100
-+++ percona-xtrabackup-2.3.6/storage/innobase/xtrabackup/src/xtrabackup.cc 2017-01-14 11:26:58.043337306 +0100
-@@ -6768,7 +6768,7 @@ xb_init()
+--- percona-xtrabackup-2.4.8.orig/storage/innobase/xtrabackup/src/xtrabackup.cc 2017-07-20 14:29:48.000000000 +0200
++++ percona-xtrabackup-2.4.8/storage/innobase/xtrabackup/src/xtrabackup.cc 2017-08-08 15:26:08.973853144 +0200
+@@ -8052,7 +8052,7 @@ xb_init()
if (xtrabackup_backup) {
if (!opt_noversioncheck) {
++++++ percona-xtrabackup-2.3.7-nodoc.tar.xz -> percona-xtrabackup-2.4.8-nodoc.tar.xz ++++++
/work/SRC/openSUSE:Factory/xtrabackup/percona-xtrabackup-2.3.7-nodoc.tar.xz /work/SRC/openSUSE:Factory/.xtrabackup.new/percona-xtrabackup-2.4.8-nodoc.tar.xz differ: char 25, line 1
1
0
Hello community,
here is the log from the commit of package libmirage for openSUSE:Factory checked in at 2017-08-24 18:48:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmirage (Old)
and /work/SRC/openSUSE:Factory/.libmirage.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmirage"
Thu Aug 24 18:48:35 2017 rev:17 rq:515209 version:3.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libmirage/libmirage.changes 2017-04-24 09:47:49.760056910 +0200
+++ /work/SRC/openSUSE:Factory/.libmirage.new/libmirage.changes 2017-08-24 18:48:36.449451473 +0200
@@ -1,0 +2,17 @@
+Mon Aug 7 13:30:23 UTC 2017 - jengelh(a)inai.de
+
+- Update to new upstream release 3.1.0
+ * Avoid using g_assert_nonnull() to keep compatibility with
+ glib <= 2.40.
+ * Adjusted bundled MIME types to prevent false positives.
+ * Added infrastructure for localization support.
+ * Slovenian and Russian translations.
+ * Improved compile-time checks of arguments passed to debug
+ message functions.
+ * Explicitly specify minimum required zlib version (1.2.4).
+ * Fixed acquisition of underlying streams in DMG ans ISZ filters.
+- Drop 01_g_assert_nonnull.diff,
+ libmirage-3.0.5-glib-2.28-workaround.patch
+ (integrated upstream)
+
+-------------------------------------------------------------------
Old:
----
01_g_assert_nonnull.diff
libmirage-3.0.5-glib-2.28-workaround.patch
libmirage-3.0.5.tar.bz2
New:
----
libmirage-3.1.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmirage.spec ++++++
--- /var/tmp/diff_new_pack.zR1oFJ/_old 2017-08-24 18:48:37.609288163 +0200
+++ /var/tmp/diff_new_pack.zR1oFJ/_new 2017-08-24 18:48:37.613287600 +0200
@@ -17,36 +17,32 @@
Name: libmirage
-%define lname libmirage10
-%define pname 3_0
+%define lname libmirage11
+%define pname 3_1
Summary: A CD-ROM image access library
License: GPL-2.0+
Group: Development/Libraries/C and C++
-Version: 3.0.5
+Version: 3.1.0
Release: 0
Url: http://cdemu.sf.net/about/libmirage/
#Git-Clone: git://git.code.sf.net/p/cdemu/code
Source: http://downloads.sf.net/cdemu/%name-%version.tar.bz2
-# A patch taken from Cdemu PPA
-Patch1: 01_g_assert_nonnull.diff
-# SLES 11 is still supported
+BuildRequires: cmake >= 2.8.5
+BuildRequires: intltool >= 0.21
+BuildRequires: pkg-config >= 0.16
%if 0%{?sles_version} && 0%{?suse_version} == 1110
-Patch2: libmirage-3.0.5-glib-2.28-workaround.patch
+# SLES 11 is still supported
# Dependencies list in an old style
-BuildRequires: cmake >= 2.8.5
BuildRequires: glib2-devel >= 2.28
BuildRequires: gtk-doc >= 1.4
BuildRequires: libbz2-devel >= 1.0.0
BuildRequires: libsamplerate-devel >= 0.1.0
BuildRequires: libsndfile-devel >= 1.0.0
-BuildRequires: pkg-config >= 0.16
BuildRequires: shared-mime-info
BuildRequires: xz-devel >= 5.0.0
-BuildRequires: zlib-devel >= 1.2.0
+BuildRequires: zlib-devel >= 1.2.4
%else
-BuildRequires: cmake >= 2.8.5
-BuildRequires: pkg-config >= 0.16
BuildRequires: pkgconfig(bzip2) >= 1.0.0
BuildRequires: pkgconfig(glib-2.0) >= 2.28
BuildRequires: pkgconfig(gmodule-2.0) >= 2.28
@@ -57,8 +53,9 @@
BuildRequires: pkgconfig(samplerate) >= 0.1.0
BuildRequires: pkgconfig(shared-mime-info)
BuildRequires: pkgconfig(sndfile) >= 1.0.0
-BuildRequires: pkgconfig(zlib) >= 1.2.0
+BuildRequires: pkgconfig(zlib) >= 1.2.4
%endif
+Recommends: %name-lang
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -68,6 +65,16 @@
image formats by creating a representation of disc stored in image
file.
+%package lang
+Summary: Translations for libmirage
+Group: System/Localization
+Provides: %name-lang-all = %version
+Supplements: packageand(bundle-lang-other:%lname)
+BuildArch: noarch
+
+%description lang
+Provides translations for the "%name" package.
+
%package -n %lname
Summary: A CD-ROM image access library
# Technically Suggests:, but pretty useless without
@@ -139,10 +146,6 @@
%prep
%setup -q
-%patch1 -p1
-%if 0%{?sles_version} && 0%{?suse_version} == 1110
-%patch2 -p1
-%endif
%build
%cmake -DCMAKE_MODULE_LINKER_FLAGS=""
@@ -150,31 +153,32 @@
%install
%cmake_install
+%find_lang %name
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%post data
%if 0%{?sles_version} && 0%{?suse_version} == 1110
-/usr/bin/update-mime-database %{_datadir}/mime &> /dev/null || :
+/usr/bin/update-mime-database %{_datadir}/mime >/dev/null || :
%else
%mime_database_post
%endif
%postun data
%if 0%{?sles_version} && 0%{?suse_version} == 1110
-/usr/bin/update-mime-database %{_datadir}/mime &> /dev/null || :
+/usr/bin/update-mime-database %{_datadir}/mime >/dev/null || :
%else
%mime_database_postun
%endif
%files -n %lname
%defattr(-,root,root)
-%_libdir/libmirage.so.10*
+%_libdir/libmirage.so.11*
%files %pname
%defattr(-,root,root)
-%_libdir/libmirage-3.0/
+%_libdir/libmirage-3.1/
%files data
%defattr(-,root,root)
@@ -183,12 +187,15 @@
%files devel
%defattr(-,root,root)
-%_includedir/libmirage-3.0/
+%_includedir/libmirage-3.1/
%_libdir/libmirage.so
%_libdir/pkgconfig/libmirage.pc
%if 0%{?suse_version} > 1110
%_datadir/gir-1.0
+%files lang -f %name.lang
+%defattr(-,root,root)
+
%files -n typelib-1_0-libmirage-%pname
%defattr(-,root,root)
%_libdir/girepository-1.0
++++++ libmirage-3.0.5.tar.bz2 -> libmirage-3.1.0.tar.bz2 ++++++
++++ 12392 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package libmlt for openSUSE:Factory checked in at 2017-08-24 18:48:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmlt (Old)
and /work/SRC/openSUSE:Factory/.libmlt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmlt"
Thu Aug 24 18:48:16 2017 rev:33 rq:515131 version:6.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/libmlt/libmlt.changes 2017-03-02 19:30:07.340883792 +0100
+++ /work/SRC/openSUSE:Factory/.libmlt.new/libmlt.changes 2017-08-24 18:48:17.460125237 +0200
@@ -1,0 +2,31 @@
+Sat Aug 5 05:59:16 UTC 2017 - olaf(a)aepfle.de
+
+- Build with Qt5 unconditional because PackageHub has a recent Qt5
+
+-------------------------------------------------------------------
+Thu Jul 13 12:18:18 UTC 2017 - davejplater(a)gmail.com
+
+- Build with gcc6, fix build failure for 42.2/3 due to movit
+ building with gcc6.
+
+-------------------------------------------------------------------
+Thu Jul 6 22:21:18 UTC 2017 - jengelh(a)inai.de
+
+- Trim filler wording from descriptions; fix identical
+ descriptions being used in different subpackages.
+
+-------------------------------------------------------------------
+Wed Jul 5 12:29:54 UTC 2017 - klaas.freitag(a)suse.com
+
+- Add rem_close.patch from upstream that prevents crashes of apps
+ in some circumstances, as reported on openSUSE ML.
+ https://github.com/mltframework/mlt/commit/a3188e301b5a9a1f25dbb98a510e3663…
+
+-------------------------------------------------------------------
+Fri Jun 9 14:06:51 UTC 2017 - davejplater(a)gmail.com
+
+- Added files for linked package webvfx which provides qmelt needed
+ by shotcut for video export see boo#1043070. Webvfx has to build
+ within the mlt sources.
+
+-------------------------------------------------------------------
New Changes file:
--- /dev/null 2017-07-20 07:30:00.335470106 +0200
+++ /work/SRC/openSUSE:Factory/.libmlt.new/webvfx.changes 2017-08-24 18:48:17.812075682 +0200
@@ -0,0 +1,20 @@
+-------------------------------------------------------------------
+Thu Jul 6 22:21:18 UTC 2017 - jengelh(a)inai.de
+
+- Trim filler wording from descriptions; fix identical
+ descriptions being used in different subpackages.
+- Cure "useless use of cat" (`ls -1`) by replacing with just *.
+
+-------------------------------------------------------------------
+Sun Jun 11 09:35:09 UTC 2017 - davejplater(a)gmail.com
+
+- Added man pages for binaries.
+
+-------------------------------------------------------------------
+Thu Jun 8 05:18:03 UTC 2017 - davejplater(a)gmail.com
+
+- Created initial package version 0.44+git20160823 from current
+ git rev: e918ce4667e623c3d60735cb898223e730c6d7af needed by
+ shotcut. See boo#1043070
+- Added webvfx-versioned-libdir.patch to enable arch dependent
+ library directory install
Old:
----
v6.4.1.tar.gz
New:
----
mlt-6.4.1.tar.gz
rem_close.patch
webvfx-0.44+git20160823.tar.gz
webvfx-versioned-libdir.patch
webvfx.changes
webvfx.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmlt.spec ++++++
--- /var/tmp/diff_new_pack.WZvmTK/_old 2017-08-24 18:48:19.139888721 +0200
+++ /var/tmp/diff_new_pack.WZvmTK/_new 2017-08-24 18:48:19.159885905 +0200
@@ -34,34 +34,34 @@
Name: %{libname}
Version: 6.4.1
Release: 0
-Summary: Multimedia framework designed and developed for television broadcasting
+Summary: Multimedia framework for television broadcasting
License: GPL-3.0+
-Group: System/Libraries
+Group: Development/Libraries/C and C++
Url: http://www.mltframework.org
-Source0: https://github.com/mltframework/mlt/archive/v%{version}.tar.gz
+Source0: https://github.com/mltframework/mlt/archive/v%{version}.tar.gz#/%{_name}-%{…
# PATCH-FIX-OPENSUSE libmlt-0.8.2-vdpau.patch reddwarf(a)opensuse.org -- Make VDPAU support work without the devel package
Patch1: libmlt-0.8.2-vdpau.patch
# PATCH-FIX-UPSTREAM use-recommended-freetype-include.patch -- Freetype upstream recommends using their macros together with
# ft2build include. Positive sideeffect is that this patch makes it build with both freetype2 2.5.1, and older versions
Patch2: use-recommended-freetype-include.patch
Patch3: 6c658e5d8cd11933bf799a2a985aa4b24cfbcb60.patch
+# PATCH-FIX-UPSTREAM remove superflous close to avoid crashes in for example kdenlive
+Patch4: rem_close.patch
BuildRequires: fdupes
+%if 0%{?suse_version} > 1320
BuildRequires: gcc-c++
+%else
+BuildRequires: gcc6
+BuildRequires: gcc6-c++
+#!Buildignore: libgcc_s1
+%endif
BuildRequires: ladspa-devel
BuildRequires: pkg-config
-%if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?is_opensuse})
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5OpenGL)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Xml)
-%else
-BuildRequires: pkgconfig(QtCore)
-BuildRequires: pkgconfig(QtGui)
-BuildRequires: pkgconfig(QtSvg)
-BuildRequires: pkgconfig(QtXml)
-%endif
-BuildRequires: movit-devel
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(fftw3)
BuildRequires: pkgconfig(frei0r)
@@ -75,6 +75,7 @@
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libquicktime)
BuildRequires: pkgconfig(libxml-2.0)
+BuildRequires: pkgconfig(movit)
BuildRequires: pkgconfig(opencv) >= 3.1.0
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(pangoft2)
@@ -100,89 +101,91 @@
%endif
%description
-MLT is an open source multimedia framework, designed and developed for
-television broadcasting. It provides a toolkit for broadcasters, video editors,
-media players, transcoders, web streamers and many more types of applications.
-The functionality of the system is provided via an assortment of ready to use
-tools, XML authoring components, and an extensible plug-in based API.
+MLT is a multimedia framework for television broadcasting. It
+provides a toolkit for broadcasters, video editors, media players,
+transcoders and web streamers. The functionality of the system is
+provided via an assortment of tools, XML authoring components, and an
+plug-in based API.
%package -n %{libname}%{soname}
-Summary: Multimedia framework designed and developed for television broadcasting
+Summary: C library API for the MLT multimedia framework
Group: System/Libraries
Recommends: %{libname}%{soname}-data
Recommends: %{libname}%{soname}-modules
%description -n %{libname}%{soname}
-MLT is an open source multimedia framework, designed and developed for
-television broadcasting. It provides a toolkit for broadcasters, video editors,
-media players, transcoders, web streamers and many more types of applications.
-The functionality of the system is provided via an assortment of ready to use
-tools, XML authoring components, and an extensible plug-in based API.
+MLT is a multimedia framework for television broadcasting. It
+provides a toolkit for broadcasters, video editors, media players,
+transcoders and web streamers.
+
+This subpackage contains the C library API for MLT.
%package devel
-Summary: Multimedia framework designed and developed for television broadcasting
+Summary: Development files for MLT's C language API
Group: Development/Libraries/C and C++
Requires: %{libname}%{soname} = %{version}
%description devel
-MLT is an open source multimedia framework, designed and developed for
-television broadcasting. It provides a toolkit for broadcasters, video editors,
-media players, transcoders, web streamers and many more types of applications.
-The functionality of the system is provided via an assortment of ready to use
-tools, XML authoring components, and an extensible plug-in based API.
+MLT is a multimedia framework for television broadcasting. It
+provides a toolkit for broadcasters, video editors, media players,
+transcoders and web streamers.
+
+This subpackage contains the headers to make use of the MLT C API.
%package -n %{libname_pp}%{soname_pp}
-Summary: Multimedia framework designed and developed for television broadcasting
+Summary: C++ library API for the MLT multimedia framework
Group: System/Libraries
%description -n %{libname_pp}%{soname_pp}
-MLT is an open source multimedia framework, designed and developed for
-television broadcasting. It provides a toolkit for broadcasters, video editors,
-media players, transcoders, web streamers and many more types of applications.
-The functionality of the system is provided via an assortment of ready to use
-tools, XML authoring components, and an extensible plug-in based API.
+MLT is a multimedia framework for television broadcasting. It
+provides a toolkit for broadcasters, video editors, media players,
+transcoders and web streamers.
+
+This subpackage contains the C++ library API for MLT.
%package -n %{libname_pp}-devel
-Summary: Multimedia framework designed and developed for television broadcasting
+Summary: Development files for MLT's C++ language API
Group: Development/Libraries/C and C++
Requires: %{libname_pp}%{soname_pp} = %{version}
Requires: %{libname}-devel = %{version}
%description -n %{libname_pp}-devel
-MLT is an open source multimedia framework, designed and developed for
-television broadcasting. It provides a toolkit for broadcasters, video editors,
-media players, transcoders, web streamers and many more types of applications.
-The functionality of the system is provided via an assortment of ready to use
-tools, XML authoring components, and an extensible plug-in based API.
+MLT is a multimedia framework for television broadcasting. It
+provides a toolkit for broadcasters, video editors, media players,
+transcoders and web streamers.
+
+This subpackage contains the headers to make use of the MLT C++ API.
%package -n melt%{soname}
-Summary: Multimedia framework designed and developed for television broadcasting
+Summary: Multimedia framework for television broadcasting
Group: Productivity/Multimedia/Video/Editors and Convertors
Requires: melt
%description -n melt%{soname}
-MLT is an open source multimedia framework, designed and developed for
-television broadcasting. It provides a toolkit for broadcasters, video editors,
-media players, transcoders, web streamers and many more types of applications.
-The functionality of the system is provided via an assortment of ready to use
-tools, XML authoring components, and an extensible plug-in based API.
+MLT is a multimedia framework for television broadcasting. It
+provides a toolkit for broadcasters, video editors, media players,
+transcoders and web streamers.
+
+The functionality of the system is provided via an assortment of
+tools, XML authoring components, and an plug-in based API.
%package -n melt
-Summary: Multimedia framework designed and developed for television broadcasting
+Summary: Multimedia framework for television broadcasting
Group: Productivity/Multimedia/Video/Editors and Convertors
Requires: melt%{soname}
Conflicts: melt > %{version}
Conflicts: melt < %{version}
%description -n melt
-MLT is an open source multimedia framework, designed and developed for
-television broadcasting. It provides a toolkit for broadcasters, video editors,
-media players, transcoders, web streamers and many more types of applications.
-The functionality of the system is provided via an assortment of ready to use
-tools, XML authoring components, and an extensible plug-in based API.
+MLT is a multimedia framework for television broadcasting. It
+provides a toolkit for broadcasters, video editors, media players,
+transcoders and web streamers.
+
+This subpackage contains a symlink to refer to a specific
+version of MLT.
%package -n %{libname}%{soname}-modules
-Summary: Multimedia framework designed and developed for television broadcasting
+Summary: Modules for the MLT multimedia framework
Group: Productivity/Multimedia/Video/Editors and Convertors
Requires: %{_bindir}/melt
Requires: %{libname}%{soname} = %{version}
@@ -196,27 +199,26 @@
%endif
%description -n %{libname}%{soname}-modules
-MLT is an open source multimedia framework, designed and developed for
-television broadcasting. It provides a toolkit for broadcasters, video editors,
-media players, transcoders, web streamers and many more types of applications.
-The functionality of the system is provided via an assortment of ready to use
-tools, XML authoring components, and an extensible plug-in based API.
+MLT is a multimedia framework for television broadcasting. It
+provides a toolkit for broadcasters, video editors, media players,
+transcoders and web streamers.
+
+The functionality of the system is provided via an assortment of
+tools, XML authoring components, and an plug-in based API.
%package -n %{libname}%{soname}-data
-Summary: Multimedia framework designed and developed for television broadcasting
+Summary: Architecture-independent data files for the MLT multimedia framework
Group: Productivity/Multimedia/Video/Editors and Convertors
Requires: %{libname}%{soname} = %{version}
BuildArch: noarch
%description -n %{libname}%{soname}-data
-MLT is an open source multimedia framework, designed and developed for
-television broadcasting. It provides a toolkit for broadcasters, video editors,
-media players, transcoders, web streamers and many more types of applications.
-The functionality of the system is provided via an assortment of ready to use
-tools, XML authoring components, and an extensible plug-in based API.
+MLT is a multimedia framework for television broadcasting. It
+provides a toolkit for broadcasters, video editors, media players,
+transcoders and web streamers.
%package -n python-%{_name}
-Summary: Python bindings for MLT
+Summary: Python bindings for the MLT multimedia framework
Group: Development/Languages/Python
BuildRequires: python-devel
BuildRequires: swig
@@ -233,6 +235,7 @@
%patch1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
# To complement libmlt-0.8.0-vdpau.patch.
# When vdpau support is not compiled it will break the code. Doesn't matter because the code will not be used anyway.
@@ -240,6 +243,10 @@
sed "s/__VDPAU_SONAME__/${VDPAU_SONAME}/" -i src/modules/avformat/vdpau.c
%build
+test -x "$(type -p gcc-6)" && export CC=gcc-6
+test -x "$(type -p gcc-7)" && export CC=gcc-7
+test -x "$(type -p g++-6)" && export CXX=g++-6
+test -x "$(type -p g++-7)" && export CXX=g++-7
%configure \
%ifnarch %{ix86} x86_64
--disable-mmx \
++++++ webvfx.spec ++++++
#
# spec file for package webvfx
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define _name mlt
%define mltversion 6.4.1
%define sover 1
%define mltmaj %(echo %{mltversion} |cut -d "." -f 1)
# Find qt version used to build
%define qt5version %(pkg-config --modversion Qt5Core)
%define _rev e918ce4667e623c3d60735cb898223e730c6d7af
Name: webvfx
Version: 0.44+git20160823
Release: 0
Summary: Video effects engine based on web technologies
License: BSD-3-Clause
Group: Productivity/Multimedia/Video/Editors and Convertors
Url: https://github.com/mltframework/webvfx
Source0: %{_name}-%{mltversion}.tar.gz
# This is needed by shotcut and will only build within the mlt sources.
Source1: https://github.com/mltframework/webvfx/archive/%{_rev}.tar.gz#/webvfx-%{ver…
#PATCH-FIX-UPSTREAM webvfx-versioned-libdir.patch davejplater(a)gmail.com -- install webvfx lib in versioned _libdir
Patch4: webvfx-versioned-libdir.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: help2man
BuildRequires: pkg-config
BuildRequires: pkgconfig(Qt5Core) >= 5.5.0
BuildRequires: pkgconfig(Qt5Multimedia)
BuildRequires: pkgconfig(Qt5OpenGL)
BuildRequires: pkgconfig(Qt5WebKitWidgets)
BuildRequires: pkgconfig(Qt5WebKitWidgets)
BuildRequires: pkgconfig(Qt5WebSockets)
BuildRequires: pkgconfig(Qt5WebSockets)
BuildRequires: pkgconfig(mlt++)
BuildRequires: pkgconfig(mlt-framework)
#Requires:
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
WebVfx is a video effects library that allows effects to be
implemented using WebKit HTML or Qt QML.
%package -n libwebvfx%{sover}
Summary: Video effects engine based on web technologies
Group: System/Libraries
%description -n libwebvfx%{sover}
WebVfx is a video effects library that allows effects to be
implemented using WebKit HTML or Qt QML.
%package devel
Summary: Video effects engine based on web technologies
Group: Development/Libraries/C and C++
Requires: libwebvfx%{sover} = %{version}
%description devel
WebVfx is a video effects library that allows effects to be
implemented using WebKit HTML or Qt QML. This package contains
the development library link.
%package module
Summary: Webvfx module for MLT
Group: Productivity/Multimedia/Video/Editors and Convertors
%description module
A module plugin for the MLT multimedia framework.
%package -n qmelt
Summary: A Melt that works with webvfx
Group: Productivity/Multimedia/Video/Editors and Convertors
%description -n qmelt
MLT is a multimedia framework, designed and developed for television
broadcasting. It provides a toolkit for broadcasters, video editors,
media players, transcoders, web streamers and many more types of
applications. The functionality of the system is provided via an
assortment of tools, XML authoring components, and an plug-in based API.
%prep
%setup -q -n %{_name}-%{mltversion} -a 1
%patch4
%build
pushd webvfx-%{_rev}
%qmake5 \
QMAKE_STRIP="" \
MLT_SOURCE="%{_builddir}/%{_name}-%{mltversion}/" \
WLIB=%{_lib} \
PREFIX="%{_prefix}" -Wall -recursive
make %{_smp_mflags} VERBOSE=1
popd
%install
pushd webvfx-%{_rev}
%qmake5_install
popd
#Add webvfx module to versioned mlt module directory
mv %{buildroot}%{_libdir}/mlt %{buildroot}%{_libdir}/mlt-%{mltmaj}
chmod 0755 %{buildroot}%{_bindir}/*
#Create man pages for executables.
mkdir -p %{buildroot}%{_mandir}/man1
pushd %{buildroot}%{_bindir}
for i in *; do
help2man -N --no-discard-stderr ./${i} -o %{buildroot}%{_mandir}/man1/${i}.1
done
popd
%post -n libwebvfx%{sover} -p /sbin/ldconfig
%postun -n libwebvfx%{sover} -p /sbin/ldconfig
%files
%defattr(0755, root, root, 0755)
%{_bindir}/webvfx*
%{_mandir}/man1/webvfx*
%files module
%defattr(0755, root, root, 0755)
%{_libdir}/mlt-%{mltmaj}/
%files -n libwebvfx%{sover}
%defattr(0755, root, root, 0755)
%{_libdir}/libwebvfx.so.*
%files devel
%defattr(0755, root, root, 0755)
%{_libdir}/libwebvfx.so
%files -n qmelt
%defattr(0755, root, root, 0755)
%{_bindir}/qmelt
%{_mandir}/man1/qmelt*
%changelog
++++++ rem_close.patch ++++++
>From a3188e301b5a9a1f25dbb98a510e366363348e64 Mon Sep 17 00:00:00 2001
From: Dan Dennedy <dan(a)dennedy.org>
Date: Sun, 19 Feb 2017 12:50:59 -0800
Subject: [PATCH] Allow Mlt::Repository to be deleted without bad side effect.
mlt_repository_close() is run by mlt_factory_close() when called either
directly, which requires all Mlt objects to be destroyed prior, or
atexit().
---
src/mlt++/MltRepository.cpp | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/mlt++/MltRepository.cpp b/src/mlt++/MltRepository.cpp
index 47a598bc..45522e40 100644
--- a/src/mlt++/MltRepository.cpp
+++ b/src/mlt++/MltRepository.cpp
@@ -35,8 +35,6 @@ Repository::Repository( mlt_repository repository ) :
Repository::~Repository( )
{
- if ( instance )
- mlt_repository_close( instance );
instance = NULL;
}
++++++ webvfx-versioned-libdir.patch ++++++
Index: webvfx-e918ce4667e623c3d60735cb898223e730c6d7af/webvfx/webvfx.pro
===================================================================
--- webvfx-e918ce4667e623c3d60735cb898223e730c6d7af/webvfx/webvfx.pro.orig 2016-08-23 20:36:10.000000000 +0200
+++ webvfx-e918ce4667e623c3d60735cb898223e730c6d7af/webvfx/webvfx.pro 2017-06-08 13:45:28.132171602 +0200
@@ -47,5 +47,5 @@ QT += opengl quick
TARGET = webvfx
-target.path = $$PREFIX/lib
+target.path = $$PREFIX/$$WLIB
INSTALLS += target
1
0
Hello community,
here is the log from the commit of package oprofile for openSUSE:Factory checked in at 2017-08-24 18:48:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/oprofile (Old)
and /work/SRC/openSUSE:Factory/.oprofile.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "oprofile"
Thu Aug 24 18:48:02 2017 rev:47 rq:515109 version:1.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/oprofile/oprofile.changes 2017-05-22 18:08:32.113121519 +0200
+++ /work/SRC/openSUSE:Factory/.oprofile.new/oprofile.changes 2017-08-24 18:48:10.757069051 +0200
@@ -1,0 +2,26 @@
+Mon Aug 7 23:54:02 UTC 2017 - tonyj(a)suse.com
+
+- Update to version 1.2.0
+ - New/updated Processor Support
+ * ARM Cortex A17
+ * IBM Power 9
+ * IBM Power 8NV and NVL variants
+ * IBM z13
+ * Intel Goldmont
+ * Intel Kabylake
+ * Intel Xeon Phi (Knights Landing)
+ * Achitecture specific events for Applied Micro X-Gene
+ - Bug fixes
+ * #286 - Compilation error: left shift of negative value
+ * #288 - oprofile fails to build with --enable-pch and gcc-6.2
+ - Other fixes
+ * Fixed compile warning and errors when using GCC 6 or GCC 7
+ * Avoid using deprecated readdir_r function
+ * Store samples in the archive and search the appropriate places
+ for samples
+ * Only start the application if the perf events setup was successful
+ * Corrections in the code and i386 events so "make check" tests pass
+
+- Drop local patch oprofile-1.1.0-gcc6.patch (upstream)
+
+-------------------------------------------------------------------
Old:
----
oprofile-1.1.0-gcc6.patch
oprofile-1.1.0.tar.gz
New:
----
oprofile-1.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ oprofile.spec ++++++
--- /var/tmp/diff_new_pack.eWOjEe/_old 2017-08-24 18:48:13.608667536 +0200
+++ /var/tmp/diff_new_pack.eWOjEe/_new 2017-08-24 18:48:13.624665284 +0200
@@ -17,7 +17,7 @@
Name: oprofile
-Version: 1.1.0
+Version: 1.2.0
Release: 0
Summary: System-Wide Profiler for Linux Systems
License: GPL-2.0+ and LGPL-2.1+
@@ -30,8 +30,6 @@
Source5: README-BEFORE-ADDING-PATCHES
Patch1: %{name}-no-libjvm-version.patch
Patch2: %{name}-pfm-ppc.patch
-# PATCH FIX UPSTREAM marguerite(a)opensuse.org - fix FTBFS gcc6
-Patch3: %{name}-%{version}-gcc6.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: binutils-devel
@@ -104,7 +102,6 @@
%setup -q
%patch1 -p1
%patch2 -p1
-%patch3 -p1
mkdir -p java/include
# copy files necessary to build Java agent libraries
++++++ oprofile-1.1.0.tar.gz -> oprofile-1.2.0.tar.gz ++++++
++++ 25801 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package cdemu-daemon for openSUSE:Factory checked in at 2017-08-24 18:47:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cdemu-daemon (Old)
and /work/SRC/openSUSE:Factory/.cdemu-daemon.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cdemu-daemon"
Thu Aug 24 18:47:57 2017 rev:19 rq:515086 version:3.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/cdemu-daemon/cdemu-daemon.changes 2017-02-16 17:04:19.470014489 +0100
+++ /work/SRC/openSUSE:Factory/.cdemu-daemon.new/cdemu-daemon.changes 2017-08-24 18:48:05.733776347 +0200
@@ -1,0 +2,9 @@
+Mon Aug 7 19:29:16 UTC 2017 - jengelh(a)inai.de
+
+- Update to new upstream release 3.1.0
+ * Added no-op implementation of RESERVE TRACK for all
+ recording modes.
+ * Added infrastructure for localization support.
+ * Added Slovenian and Russian translations.
+
+-------------------------------------------------------------------
Old:
----
cdemu-daemon-3.0.5.tar.bz2
New:
----
cdemu-daemon-3.1.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cdemu-daemon.spec ++++++
--- /var/tmp/diff_new_pack.TpyGN9/_old 2017-08-24 18:48:07.157575872 +0200
+++ /var/tmp/diff_new_pack.TpyGN9/_new 2017-08-24 18:48:07.185571930 +0200
@@ -17,7 +17,7 @@
Name: cdemu-daemon
-Version: 3.0.5
+Version: 3.1.0
Release: 0
Summary: Device daemon for cdemu, a virtual CD-ROM device emulator
License: GPL-2.0+
@@ -30,7 +30,8 @@
Source3: cdemu-daemon.sysconfig
Patch1: logfile.diff
BuildRequires: cmake >= 2.8.5
-BuildRequires: pkgconfig
+BuildRequires: intltool >= 0.21
+BuildRequires: pkg-config >= 0.16
BuildRequires: pkgconfig(ao) >= 0.8.0
BuildRequires: pkgconfig(gio-2.0) >= 2.28
BuildRequires: pkgconfig(glib-2.0) >= 2.28
@@ -39,8 +40,11 @@
BuildRequires: pkgconfig(gthread-2.0) >= 2.28
BuildRequires: pkgconfig(libmirage) >= %version
Requires(pre): %fillup_prereq
+Recommends: %name-lang
Recommends: vhba-kmp
+%lang_package
+
%description
cdemu-daemon receives SCSI commands from kernel module thorugh the
VHBA module and processes them, passing the requested data back to
@@ -69,11 +73,12 @@
install -pm0644 "%{S:3}" "$b/%_localstatedir/adm/fillup-templates/sysconfig.cdemu-daemon"
# Not desired for security; it would permit a user to start a system service.
rm -rf "$b/%_datadir/dbus-1/system-services" "$b/%_sysconfdir/dbus-1/system.d/"
+%find_lang %name
%post
%fillup_only
-%files
+%files -f %name.lang
%defattr(-,root,root)
%doc AUTHORS COPYING README
%_bindir/cdemu-daemon
++++++ cdemu-daemon-3.0.5.tar.bz2 -> cdemu-daemon-3.1.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/CMakeLists.txt new/cdemu-daemon-3.1.0/CMakeLists.txt
--- old/cdemu-daemon-3.0.5/CMakeLists.txt 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/CMakeLists.txt 2017-06-10 23:29:17.000000000 +0200
@@ -3,8 +3,11 @@
# Project name
project (cdemu-daemon C)
+# Additional CMake modules.
+list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
+
# Versioning
-set (CDEMU_DAEMON_VERSION 3.0.5)
+set (CDEMU_DAEMON_VERSION 3.1.0)
set (CDEMU_DAEMON_INTERFACE_VERSION_MAJOR 7)
set (CDEMU_DAEMON_INTERFACE_VERSION_MINOR 0)
@@ -22,8 +25,10 @@
# Dependencies
find_package (PkgConfig 0.16 REQUIRED)
+find_package (IntlTool 0.21 REQUIRED)
+find_package (Gettext 0.15 REQUIRED)
-pkg_check_modules (LIBMIRAGE REQUIRED libmirage>=${CDEMU_DAEMON_VERSION})
+pkg_check_modules (LIBMIRAGE REQUIRED libmirage>=3.1.0)
pkg_check_modules (GLIB REQUIRED glib-2.0>=2.24 gobject-2.0>=2.24 gmodule-2.0>=2.24 gthread-2.0>=2.24 gio-2.0>=2.26)
pkg_check_modules (AO REQUIRED ao>=0.8.0)
@@ -50,6 +55,10 @@
add_definitions (-Wall -Wextra -Wshadow -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align)
endif ()
+# Definitions needed for localization
+add_definitions (-DGETTEXT_PACKAGE="cdemu-daemon")
+add_definitions (-DLOCALEDIR="${CMAKE_INSTALL_FULL_DATADIR}/locale")
+
# Include directories
include_directories (${PROJECT_BINARY_DIR})
@@ -121,6 +130,12 @@
)
endif ()
+# Translations; we use the version provided by our FindIntlTool.cmake
+# instead of the gettext version... Note: first two arguments are mandatory,
+# the rest is an optional list of languages to process. If no languages
+# are given, all POs are processed.
+intltool_process_po_files(${PROJECT_SOURCE_DIR}/po ${PROJECT_NAME})
+
# *** Configuration summary ***
message(STATUS "")
message(STATUS "*** CDEmu daemon v.${CDEMU_DAEMON_VERSION} configuration summary ***")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/README new/cdemu-daemon-3.1.0/README
--- old/cdemu-daemon-3.0.5/README 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/README 2017-06-10 23:29:17.000000000 +0200
@@ -1,5 +1,5 @@
CDEmu Daemon
-3.0.5
+3.1.0
~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/cmake/FindIntlTool.cmake new/cdemu-daemon-3.1.0/cmake/FindIntlTool.cmake
--- old/cdemu-daemon-3.0.5/cmake/FindIntlTool.cmake 1970-01-01 01:00:00.000000000 +0100
+++ new/cdemu-daemon-3.1.0/cmake/FindIntlTool.cmake 2017-06-10 23:29:17.000000000 +0200
@@ -0,0 +1,93 @@
+#
+# Cmake include for IntlTool
+#
+# Author: Henrik Stokseth
+#
+
+include (FindPackageHandleStandardArgs)
+
+find_program (INTLTOOL_UPDATE_EXECUTABLE NAMES intltool-update)
+find_program (INTLTOOL_EXTRACT_EXECUTABLE NAMES intltool-extract)
+find_program (INTLTOOL_MERGE_EXECUTABLE NAMES intltool-merge)
+find_program (INTLTOOL_PREPARE_EXECUTABLE NAMES intltool-prepare)
+
+mark_as_advanced (
+ INTLTOOL_UPDATE_EXECUTABLE
+ INTLTOOL_EXTRACT_EXECUTABLE
+ INTLTOOL_MERGE_EXECUTABLE
+ INTLTOOL_PREPARE_EXECUTABLE
+)
+
+if (INTLTOOL_UPDATE_EXECUTABLE)
+ execute_process (
+ COMMAND ${INTLTOOL_UPDATE_EXECUTABLE} --version
+ COMMAND head -n 1
+ COMMAND cut -d " " -f 3
+ OUTPUT_VARIABLE INTLTOOL_VERSION
+ )
+endif ()
+
+find_package_handle_standard_args (IntlTool
+ REQUIRED_VARS INTLTOOL_UPDATE_EXECUTABLE INTLTOOL_EXTRACT_EXECUTABLE
+ INTLTOOL_MERGE_EXECUTABLE INTLTOOL_PREPARE_EXECUTABLE
+ VERSION_VAR INTLTOOL_VERSION
+)
+
+function (intltool_process_po_files po_dir catalog_name)
+ set (gmo_files)
+
+ # If list of languages was explicitly given, use it; otherwise, use
+ # all files in the PO dir
+ if (${ARGC} GREATER 2)
+ set (po_files)
+ foreach (whitelisted_language ${ARGN})
+ set (po_files ${po_files} ${po_dir}/${whitelisted_language}.po)
+ endforeach ()
+ else ()
+ file (GLOB po_files ${po_dir}/*.po)
+ endif ()
+
+ foreach (po_file ${po_files})
+ get_filename_component (lang ${po_file} NAME_WE)
+ set (gmo_file ${CMAKE_CURRENT_BINARY_DIR}/${lang}.gmo)
+ add_custom_command (
+ OUTPUT ${gmo_file}
+ COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} --check -o ${gmo_file} ${po_file}
+ DEPENDS ${po_file}
+ )
+ install (
+ FILES ${gmo_file}
+ DESTINATION ${CMAKE_INSTALL_LOCALEDIR}/${lang}/LC_MESSAGES
+ RENAME ${catalog_name}.mo
+ )
+ set (gmo_files ${gmo_files} ${gmo_file})
+ endforeach ()
+
+ set (translations-target "${PROJECT_NAME}-translations")
+ add_custom_target (${translations-target} ALL DEPENDS ${gmo_files})
+endfunction ()
+
+function (intltool_merge options po_dir in_filename out_filename)
+ string(FIND ${options} "--no-translations" no_translations)
+ string(REPLACE " " ";" options ${options})
+ if (${no_translations} EQUAL -1)
+ add_custom_command (
+ OUTPUT ${out_filename}
+ COMMAND ${INTLTOOL_MERGE_EXECUTABLE} ${options} -q -u ${po_dir}
+ ${in_filename} ${out_filename}
+ DEPENDS ${in_filename}
+ )
+ else ()
+ # The --no-translations version should not be given the po dir
+ add_custom_command (
+ OUTPUT ${out_filename}
+ COMMAND ${INTLTOOL_MERGE_EXECUTABLE} ${options} -q -u
+ ${in_filename} ${out_filename}
+ DEPENDS ${in_filename}
+ )
+ endif ()
+
+ get_filename_component (out_name ${out_filename} NAME)
+ add_custom_target (intltool-merge-${out_name} ALL DEPENDS ${out_filename})
+endfunction ()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/debian/changelog new/cdemu-daemon-3.1.0/debian/changelog
--- old/cdemu-daemon-3.0.5/debian/changelog 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/debian/changelog 2017-06-10 23:29:17.000000000 +0200
@@ -1,3 +1,3 @@
-cdemu-daemon (3.0.5-1) debian; urgency=low
+cdemu-daemon (3.1.0-1) debian; urgency=low
* Initial Release. Closes: #705409
-- Henrik Stokseth <hstokset(a)users.sourceforge.net> Sat, 05 Apr 2014 12:00:00 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/debian/control new/cdemu-daemon-3.1.0/debian/control
--- old/cdemu-daemon-3.0.5/debian/control 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/debian/control 2017-06-10 23:29:17.000000000 +0200
@@ -3,8 +3,9 @@
Priority: optional
Homepage: http://cdemu.sourceforge.net/
Maintainer: Henrik Stokseth <hstokset(a)users.sourceforge.net>
-Build-Depends: libglib2.0-dev (>= 2.28), libao-dev (>= 0.8.0),
- libmirage10-dev (>= 3.0.0), debhelper (>= 9), cmake (>= 2.8.5)
+Build-Depends: libglib2.0-dev (>= 2.28), libao-dev (>= 0.8.0),
+ libmirage11-dev (>= 3.1.0), debhelper (>= 9), intltool,
+ cmake (>= 2.8.5)
Standards-Version: 3.9.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/po/POTFILES.in new/cdemu-daemon-3.1.0/po/POTFILES.in
--- old/cdemu-daemon-3.0.5/po/POTFILES.in 1970-01-01 01:00:00.000000000 +0100
+++ new/cdemu-daemon-3.1.0/po/POTFILES.in 2017-06-10 23:29:17.000000000 +0200
@@ -0,0 +1,8 @@
+# List of source files containing translatable strings.
+# Please keep this file sorted alphabetically.
+src/device.c
+src/device-load.c
+src/daemon.c
+src/daemon-dbus.c
+src/main.c
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/po/ru.po new/cdemu-daemon-3.1.0/po/ru.po
--- old/cdemu-daemon-3.0.5/po/ru.po 1970-01-01 01:00:00.000000000 +0100
+++ new/cdemu-daemon-3.1.0/po/ru.po 2017-06-10 23:29:17.000000000 +0200
@@ -0,0 +1,198 @@
+# Russian translation of cdemu-daemon.
+# Copyright (C) 2006-2015
+# This file is distributed under the same license as the gCDEmu package.
+# Grigorii Chirkov <ridgentsailor TYPE_AT_HERE gmail AND_DOT_HERE com>, 2006-2015.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cdemu-daemon 3.0.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-10-15 23:17+0200\n"
+"PO-Revision-Date: 2016-10-15 23:04+0200\n"
+"Last-Translator: Grigorii Chirkov <ridgentsailor TYPE_AT_HERE gmail "
+"AND_DOT_HERE com>\n"
+"Language-Team: Russian <>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Gtranslator 2.91.7\n"
+
+#: ../src/device.c:206 ../src/device.c:290
+#, c-format
+msgid "Invalid option name '%s'!"
+msgstr "Некорректное название настройки '%s'!"
+
+#: ../src/device.c:226 ../src/device.c:234 ../src/device.c:242
+#: ../src/device.c:250 ../src/device.c:266 ../src/device.c:280
+#, c-format
+msgid "Invalid argument type for option '%s'!"
+msgstr "Некорректный тип аргумента для настройки '%s'!"
+
+#: ../src/device-load.c:36 ../src/device-load.c:114
+#, c-format
+msgid "Device is already loaded!"
+msgstr "Образ уже смонтирован в накопитель!"
+
+#: ../src/device-load.c:152
+#, c-format
+msgid "Invalid medium type '%s'!"
+msgstr "Некорректный тип данных '%s'!"
+
+#: ../src/device-load.c:163
+#, c-format
+msgid "no image writer ID provided in parameters!"
+msgstr "В параметрах не указан ID записывающего накопителя!"
+
+#: ../src/device-load.c:255
+#, c-format
+msgid "Device is locked!"
+msgstr "Накопитель заблокирован!"
+
+#: ../src/daemon.c:218
+#, c-format
+msgid "Invalid device number!"
+msgstr "Некорректный номер накопителя!"
+
+#: ../src/daemon-dbus.c:340
+#, c-format
+msgid "Failed to add device!"
+msgstr "Не удалось добавить накопитель!"
+
+#: ../src/daemon-dbus.c:346
+#, c-format
+msgid "Failed to remove device!"
+msgstr "Не удалось удалить накопитель!"
+
+#: ../src/daemon-dbus.c:361
+#, c-format
+msgid "Invalid method name '%s'!"
+msgstr "Некорретное название метода '%s'!"
+
+#: ../src/main.c:32
+msgid "Number of devices"
+msgstr "Количество накопителей"
+
+#: ../src/main.c:32
+msgid "N"
+msgstr "N"
+
+#: ../src/main.c:33
+msgid "Control device"
+msgstr "Накопитель управления"
+
+#: ../src/main.c:33
+msgid "path"
+msgstr "путь"
+
+#: ../src/main.c:34
+msgid "Audio driver"
+msgstr "Аудиодрайвер"
+
+#: ../src/main.c:34
+msgid "driver"
+msgstr "драйвер"
+
+#: ../src/main.c:35
+msgid "Bus type to use"
+msgstr "Тип шины для использования"
+
+#: ../src/main.c:35
+msgid "bus_type"
+msgstr "тип_шины"
+
+#: ../src/main.c:36
+msgid "Logfile"
+msgstr "Файл журнала"
+
+#: ../src/main.c:36
+msgid "logfile"
+msgstr "файл_журнала"
+
+#: ../src/main.c:57
+#, c-format
+msgid "Received signal - %s\n"
+msgstr "Получен сигнал - %s\n"
+
+#: ../src/main.c:81
+msgid "Failed to set sigaction for SIGTERM!"
+msgstr "Не удалось установить sigaction на SIGTERM!"
+
+#: ../src/main.c:84
+msgid "Failed to set sigaction for SIGINT!"
+msgstr "Не удалось установить sigaction на SIGINT!"
+
+#: ../src/main.c:87
+msgid "Failed to set sigaction for SIGQUIT!"
+msgstr "Не удалось установить sigaction на SIGQUIT!"
+
+#: ../src/main.c:90
+msgid "Failed to set sigaction for SIGHUP!"
+msgstr "Не удалось установить sigaction на SIGHUP!"
+
+#: ../src/main.c:130
+#, c-format
+msgid "Failed to parse options: %s\n"
+msgstr "Не удалось считать настройки: %s\n"
+
+#: ../src/main.c:139
+#, c-format
+msgid "Failed to open log file %s for writing!\n"
+msgstr "Не удалось открыть файл журнала %s для записи!\n"
+
+#: ../src/main.c:147
+#, c-format
+msgid "Failed to initialize libMirage: %s!\n"
+msgstr "Не удалось инициализировать библиотеку libMirage: %s!\n"
+
+#. Display status
+#: ../src/main.c:153
+msgid "Starting CDEmu daemon with following parameters:\n"
+msgstr "Запуск демона CDEmu со следующими параметрами:\n"
+
+#: ../src/main.c:154
+#, c-format
+msgid " - num devices: %i\n"
+msgstr " - количество накопителей: %i\n"
+
+#: ../src/main.c:155
+#, c-format
+msgid " - control device: %s\n"
+msgstr " - управление накопителем: %s\n"
+
+#: ../src/main.c:156
+#, c-format
+msgid " - audio driver: %s\n"
+msgstr " - аудиодрайвер: %s\n"
+
+#: ../src/main.c:157
+#, c-format
+msgid " - bus type: %s\n"
+msgstr " - тип шины: %s\n"
+
+#: ../src/main.c:167
+#, c-format
+msgid "Invalid bus argument '%s', using default bus!\n"
+msgstr "Некорректный тип шины '%s', используется шина по умолчанию!\n"
+
+#: ../src/main.c:173
+msgid ""
+"WARNING: using CDEmu on system bus is deprecated and might lead to security "
+"issues on multi-user systems! Consult the README file for more details.\n"
+"\n"
+msgstr ""
+"ВНИМАНИЕ: использование CDEmu на системной шине обьявлено устаревшим и "
+"может привести к проблемам безопасности на системах с несколькими "
+"пользователями. Для более подробной информации обратитесь к файлу README.\n"
+"\n"
+
+#. Printed when daemon stops
+#: ../src/main.c:185
+msgid "Stopping daemon.\n"
+msgstr "Остановка демона.\n"
+
+#: ../src/main.c:187
+msgid "Daemon initialization and start failed!\n"
+msgstr "Не удалось инициализировать и запустить демон!\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/po/sl.po new/cdemu-daemon-3.1.0/po/sl.po
--- old/cdemu-daemon-3.0.5/po/sl.po 1970-01-01 01:00:00.000000000 +0100
+++ new/cdemu-daemon-3.1.0/po/sl.po 2017-06-10 23:29:17.000000000 +0200
@@ -0,0 +1,197 @@
+# Slovenian translation of cdemu-daemon.
+# Copyright (C) 2016 Rok Mandeljc
+# This file is distributed under the same license as the cdemu-daemon package.
+# Rok Mandeljc <rok.mandeljc(a)gmail.com>, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cdemu-daemon 3.0.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-10-15 23:17+0200\n"
+"PO-Revision-Date: 2016-10-15 23:04+0200\n"
+"Last-Translator: Rok Mandeljc <rok.mandeljc(a)gmail.com>\n"
+"Language-Team: Slovenian <>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Gtranslator 2.91.7\n"
+
+#: ../src/device.c:206 ../src/device.c:290
+#, c-format
+msgid "Invalid option name '%s'!"
+msgstr "Neveljavna nastavitev '%s'!"
+
+#: ../src/device.c:226 ../src/device.c:234 ../src/device.c:242
+#: ../src/device.c:250 ../src/device.c:266 ../src/device.c:280
+#, c-format
+msgid "Invalid argument type for option '%s'!"
+msgstr "Neveljavna vrsta argumenta za nastavitev '%s'!"
+
+#: ../src/device-load.c:36 ../src/device-load.c:114
+#, c-format
+msgid "Device is already loaded!"
+msgstr "Naprava je že naložena!"
+
+#: ../src/device-load.c:152
+#, c-format
+msgid "Invalid medium type '%s'!"
+msgstr "Neveljavna vrsta medija '%s'!"
+
+#: ../src/device-load.c:163
+#, c-format
+msgid "no image writer ID provided in parameters!"
+msgstr "V nastavitvah ni bil podan ID zapisovalca slik!"
+
+#: ../src/device-load.c:255
+#, c-format
+msgid "Device is locked!"
+msgstr "Naprava je zaklenjena!"
+
+#: ../src/daemon.c:218
+#, c-format
+msgid "Invalid device number!"
+msgstr "Neveljavna številka naprave!"
+
+#: ../src/daemon-dbus.c:340
+#, c-format
+msgid "Failed to add device!"
+msgstr "Napaka pri dodajanju naprave!"
+
+#: ../src/daemon-dbus.c:346
+#, c-format
+msgid "Failed to remove device!"
+msgstr "Napaka pri odstranjevanju naprave!"
+
+#: ../src/daemon-dbus.c:361
+#, c-format
+msgid "Invalid method name '%s'!"
+msgstr "Neveljavno ime metode '%s'!"
+
+#: ../src/main.c:32
+msgid "Number of devices"
+msgstr "Število naprav"
+
+#: ../src/main.c:32
+msgid "N"
+msgstr "N"
+
+#: ../src/main.c:33
+msgid "Control device"
+msgstr "Kontrolna naprava"
+
+#: ../src/main.c:33
+msgid "path"
+msgstr "pot-do-naprave"
+
+#: ../src/main.c:34
+msgid "Audio driver"
+msgstr "Avdio gonilnik"
+
+#: ../src/main.c:34
+msgid "driver"
+msgstr "gonilnik"
+
+#: ../src/main.c:35
+msgid "Bus type to use"
+msgstr "Vrsta vodila"
+
+#: ../src/main.c:35
+msgid "bus_type"
+msgstr "vrsta-vodila"
+
+#: ../src/main.c:36
+msgid "Logfile"
+msgstr "Datoteka z dnevnikom"
+
+#: ../src/main.c:36
+msgid "logfile"
+msgstr "ime-datoteke"
+
+#: ../src/main.c:57
+#, c-format
+msgid "Received signal - %s\n"
+msgstr "Prejel signal - %s\n"
+
+#: ../src/main.c:81
+msgid "Failed to set sigaction for SIGTERM!"
+msgstr "Napaka pri nastavljanju sigaction za SIGTERM!"
+
+#: ../src/main.c:84
+msgid "Failed to set sigaction for SIGINT!"
+msgstr "Napaka pri nastavljanju sigaction za SIGINT!"
+
+#: ../src/main.c:87
+msgid "Failed to set sigaction for SIGQUIT!"
+msgstr "Napaka pri nastavljanju sigaction za SIGQUIT!"
+
+#: ../src/main.c:90
+msgid "Failed to set sigaction for SIGHUP!"
+msgstr "Napaka pri nastavljanju sigaction za SIGHUP!"
+
+#: ../src/main.c:130
+#, c-format
+msgid "Failed to parse options: %s\n"
+msgstr "Napaka pri branju argumentorv: %s\n"
+
+#: ../src/main.c:139
+#, c-format
+msgid "Failed to open log file %s for writing!\n"
+msgstr "Napaka pri odpiranju datoteke z dnevnikom %s za pisanje!\n"
+
+#: ../src/main.c:147
+#, c-format
+msgid "Failed to initialize libMirage: %s!\n"
+msgstr "Napaka pri inicializaciji knjižnice libMirage: %s!\n"
+
+#. Display status
+#: ../src/main.c:153
+msgid "Starting CDEmu daemon with following parameters:\n"
+msgstr "Zaganjam CDEmu demon z naslednjimi nastavitvami:\n"
+
+#: ../src/main.c:154
+#, c-format
+msgid " - num devices: %i\n"
+msgstr " - število naprav: %i\n"
+
+#: ../src/main.c:155
+#, c-format
+msgid " - control device: %s\n"
+msgstr " - kontrolna naprava: %s\n"
+
+#: ../src/main.c:156
+#, c-format
+msgid " - audio driver: %s\n"
+msgstr " - avdio gonilnik: %s\n"
+
+#: ../src/main.c:157
+#, c-format
+msgid " - bus type: %s\n"
+msgstr " - vrsta vodila: %s\n"
+
+#: ../src/main.c:167
+#, c-format
+msgid "Invalid bus argument '%s', using default bus!\n"
+msgstr "Neveljavna vrsta vodila '%s', uporabljeno bo privzeto vodilo!\n"
+
+#: ../src/main.c:173
+msgid ""
+"WARNING: using CDEmu on system bus is deprecated and might lead to security "
+"issues on multi-user systems! Consult the README file for more details.\n"
+"\n"
+msgstr ""
+"OPOZORILO: uporaba CDEmu na sistemskem vodilu je opuščena in lahko privede "
+"do težav z varnostjo na več-uporabniških sistemih! Za več informacij "
+"preberite README datoteko.\n"
+"\n"
+
+#. Printed when daemon stops
+#: ../src/main.c:185
+msgid "Stopping daemon.\n"
+msgstr "Zaustavljam demon.\n"
+
+#: ../src/main.c:187
+msgid "Daemon initialization and start failed!\n"
+msgstr "Napaka pri inicializaciji in zagonu demona!\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/src/audio.c new/cdemu-daemon-3.1.0/src/audio.c
--- old/cdemu-daemon-3.0.5/src/audio.c 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/src/audio.c 2017-06-10 23:29:17.000000000 +0200
@@ -146,16 +146,23 @@
static void cdemu_audio_start_playing (CdemuAudio *self)
{
+ GError *local_error = NULL;
+
/* Set the status */
self->priv->status = AUDIO_STATUS_PLAYING;
/* Start the playback thread; thread must be joinable, so we can wait for it
to end */
#if !GLIB_CHECK_VERSION(2, 32, 0)
- self->priv->playback_thread = g_thread_create((GThreadFunc)cdemu_audio_playback_thread, self, TRUE, NULL);
+ self->priv->playback_thread = g_thread_create((GThreadFunc)cdemu_audio_playback_thread, self, TRUE, &local_error);
#else
- self->priv->playback_thread = g_thread_new("CDEmu Device Audio Play thread", (GThreadFunc)cdemu_audio_playback_thread, self);
+ self->priv->playback_thread = g_thread_try_new("CDEmu Device Audio Play thread", (GThreadFunc)cdemu_audio_playback_thread, self, &local_error);
#endif
+
+ if (!self->priv->playback_thread) {
+ CDEMU_DEBUG(self, DAEMON_DEBUG_WARNING, "%s: failed to create audio playback thread: %s\n", __debug__, local_error->message);
+ g_error_free(local_error);
+ }
}
static void cdemu_audio_stop_playing (CdemuAudio *self, gint status)
@@ -242,7 +249,7 @@
/* Resume is valid only if we're paused */
if (self->priv->status == AUDIO_STATUS_PAUSED) {
- CDEMU_DEBUG(self, DAEMON_DEBUG_AUDIOPLAY, "%s: resuming playback (0x%X->0x%X)...\n", __debug__);
+ CDEMU_DEBUG(self, DAEMON_DEBUG_AUDIOPLAY, "%s: resuming playback (0x%X->0x%X)...\n", __debug__, self->priv->cur_sector, self->priv->end_sector);
cdemu_audio_start_playing(self);
} else {
CDEMU_DEBUG(self, DAEMON_DEBUG_AUDIOPLAY, "%s: resume called when not paused!\n", __debug__);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/src/cdemu.h new/cdemu-daemon-3.1.0/src/cdemu.h
--- old/cdemu-daemon-3.0.5/src/cdemu.h 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/src/cdemu.h 2017-06-10 23:29:17.000000000 +0200
@@ -37,6 +37,9 @@
#include <ao/ao.h>
+#include <glib/gi18n.h>
+#include <locale.h>
+
#include <glib-object.h>
#include <gio/gio.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/src/daemon-dbus.c new/cdemu-daemon-3.1.0/src/daemon-dbus.c
--- old/cdemu-daemon-3.0.5/src/daemon-dbus.c 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/src/daemon-dbus.c 2017-06-10 23:29:17.000000000 +0200
@@ -337,13 +337,13 @@
/* *** AddDevice *** */
succeeded = cdemu_daemon_add_device(self);
if (!succeeded) {
- g_set_error(&error, CDEMU_ERROR, CDEMU_ERROR_DAEMON_ERROR, "Failed to add device!");
+ g_set_error(&error, CDEMU_ERROR, CDEMU_ERROR_DAEMON_ERROR, Q_("Failed to add device!"));
}
} else if (!g_strcmp0(method_name, "RemoveDevice")) {
/* *** RemoveDevice *** */
succeeded = cdemu_daemon_remove_device(self);
if (!succeeded) {
- g_set_error(&error, CDEMU_ERROR, CDEMU_ERROR_DAEMON_ERROR, "Failed to remove device!");
+ g_set_error(&error, CDEMU_ERROR, CDEMU_ERROR_DAEMON_ERROR, Q_("Failed to remove device!"));
}
} else if (!g_strcmp0(method_name, "EnumWriterParameters")) {
/* *** EnumWriterParameters *** */
@@ -358,7 +358,7 @@
succeeded = TRUE;
}
} else {
- g_set_error(&error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, "Invalid method name '%s'!", method_name);
+ g_set_error(&error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, Q_("Invalid method name '%s'!"), method_name);
}
if (succeeded) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/src/daemon.c new/cdemu-daemon-3.1.0/src/daemon.c
--- old/cdemu-daemon-3.0.5/src/daemon.c 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/src/daemon.c 2017-06-10 23:29:17.000000000 +0200
@@ -215,7 +215,7 @@
{
CdemuDevice *device = g_list_nth_data(self->priv->devices, device_number);
if (!device) {
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, "Invalid device number!");
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, Q_("Invalid device number!"));
return NULL;
}
return g_object_ref(device);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/src/device-commands.c new/cdemu-daemon-3.1.0/src/device-commands.c
--- old/cdemu-daemon-3.0.5/src/device-commands.c 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/src/device-commands.c 2017-06-10 23:29:17.000000000 +0200
@@ -1469,7 +1469,7 @@
/* Copy ISRC */
mirage_helper_subchannel_q_decode_isrc(&tmp_buf[1], (gchar *)ret_data->isrc);
ret_data->tcval = 1;
- CDEMU_DEBUG(self, DAEMON_DEBUG_MMC, "%s: found ISRC in subchannel of sector 0x%X: <%.12s>\n", __debug__, sector, ret_data->isrc);
+ CDEMU_DEBUG(self, DAEMON_DEBUG_MMC, "%s: found ISRC in subchannel of sector 0x%X: <%.12s>\n", __debug__, address, ret_data->isrc);
break;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/src/device-delay.c new/cdemu-daemon-3.1.0/src/device-delay.c
--- old/cdemu-daemon-3.0.5/src/device-delay.c 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/src/device-delay.c 2017-06-10 23:29:17.000000000 +0200
@@ -149,7 +149,7 @@
delay_diff.tv_usec = delay_now.tv_usec - self->priv->delay_begin.tv_usec;
CDEMU_DEBUG(self, DAEMON_DEBUG_DELAY, "%s: calculated delay: %i microseconds\n", __debug__, self->priv->delay_amount);
- CDEMU_DEBUG(self, DAEMON_DEBUG_DELAY, "%s: processing time: %i seconds, %i microseconds\n", __debug__, delay_diff.tv_sec, delay_diff.tv_usec);
+ CDEMU_DEBUG(self, DAEMON_DEBUG_DELAY, "%s: processing time: %li seconds, %li microseconds\n", __debug__, delay_diff.tv_sec, delay_diff.tv_usec);
/* Compensate for the processing time */
delay = self->priv->delay_amount - (delay_diff.tv_sec * G_USEC_PER_SEC + delay_diff.tv_usec);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/src/device-kernel-io.c new/cdemu-daemon-3.1.0/src/device-kernel-io.c
--- old/cdemu-daemon-3.0.5/src/device-kernel-io.c 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/src/device-kernel-io.c 2017-06-10 23:29:17.000000000 +0200
@@ -135,7 +135,7 @@
sense.cmd_info[2] = (command_info & 0x0000FF00) >> 8;
sense.cmd_info[3] = (command_info & 0x000000FF) >> 0;
- CDEMU_DEBUG(self, DAEMON_DEBUG_KERNEL_IO, "%s: writing sense (%d bytes) to OUT buffer\n", __debug__, sizeof(struct REQUEST_SENSE_SenseFixed));
+ CDEMU_DEBUG(self, DAEMON_DEBUG_KERNEL_IO, "%s: writing sense (%" G_GSIZE_MODIFIER "d bytes) to OUT buffer\n", __debug__, sizeof(struct REQUEST_SENSE_SenseFixed));
/* Write sense directly into command's output buffer */
memcpy(self->priv->cmd->out, &sense, sizeof(struct REQUEST_SENSE_SenseFixed));
@@ -167,7 +167,7 @@
ret = read(fd, vreq, BUF_SIZE);
if (ret < (gssize)sizeof(struct vhba_request)) {
- CDEMU_DEBUG(self, DAEMON_DEBUG_WARNING, "%s: failed to read request from control device (%d bytes; at least %d required)!\n", __debug__, ret, sizeof(struct vhba_request));
+ CDEMU_DEBUG(self, DAEMON_DEBUG_WARNING, "%s: failed to read request from control device (%" G_GSIZE_MODIFIER "d bytes; at least %" G_GSIZE_MODIFIER "d required)!\n", __debug__, ret, sizeof(struct vhba_request));
/* Signal the kernel I/O error, so daemon can restart the device */
g_signal_emit_by_name(self, "kernel-io-error", NULL);
return TRUE;
@@ -205,7 +205,7 @@
ret = write(fd, vres, BUF_SIZE);
if (ret < (gssize)sizeof(struct vhba_response)) {
- CDEMU_DEBUG(self, DAEMON_DEBUG_WARNING, "%s: failed to write response to control device (%d bytes; at least %d required)!\n", __debug__, ret, sizeof(struct vhba_response));
+ CDEMU_DEBUG(self, DAEMON_DEBUG_WARNING, "%s: failed to write response to control device (%" G_GSIZE_MODIFIER "d bytes; at least %" G_GSIZE_MODIFIER "d required)!\n", __debug__, ret, sizeof(struct vhba_response));
/* Signal the kernel I/O error, so daemon can restart the device */
g_signal_emit_by_name(self, "kernel-io-error", NULL);
return TRUE;
@@ -254,7 +254,12 @@
g_source_attach(self->priv->io_watch, self->priv->main_context);
/* Start I/O thread */
+#if !GLIB_CHECK_VERSION(2, 32, 0)
+ self->priv->io_thread = g_thread_create((GThreadFunc)cdemu_device_io_thread, self, TRUE, &local_error);
+#else
self->priv->io_thread = g_thread_try_new("I/O thread", (GThreadFunc)cdemu_device_io_thread, self, &local_error);
+#endif
+
if (!self->priv->io_thread) {
CDEMU_DEBUG(self, DAEMON_DEBUG_WARNING, "%s: failed to start I/O thread: %s\n", __debug__, local_error->message);
g_error_free(local_error);
@@ -288,10 +293,10 @@
/* Unref thread */
if (self->priv->io_thread) {
- /* Wait for the thread to finish */
+ /* Wait for the thread to finish (also releases the reference
+ to thread object) */
g_thread_join(self->priv->io_thread);
- g_thread_unref(self->priv->io_thread);
self->priv->io_thread = NULL;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/src/device-load.c new/cdemu-daemon-3.1.0/src/device-load.c
--- old/cdemu-daemon-3.0.5/src/device-load.c 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/src/device-load.c 2017-06-10 23:29:17.000000000 +0200
@@ -33,7 +33,7 @@
/* Well, we won't do anything if we're already loaded */
if (self->priv->loaded) {
CDEMU_DEBUG(self, DAEMON_DEBUG_MMC, "%s: device already loaded\n", __debug__);
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_ALREADY_LOADED, "Device is already loaded!");
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_ALREADY_LOADED, Q_("Device is already loaded!"));
return FALSE;
}
@@ -111,7 +111,7 @@
/* Well, we won't do anything if we're already loaded */
if (self->priv->loaded) {
CDEMU_DEBUG(self, DAEMON_DEBUG_MMC, "%s: device already loaded\n", __debug__);
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_ALREADY_LOADED, "Device is already loaded!");
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_ALREADY_LOADED, Q_("Device is already loaded!"));
return FALSE;
}
@@ -149,7 +149,7 @@
medium_type = MIRAGE_MEDIUM_DVD;
medium_capacity = 2295104;
} else {
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, "Invalid medium type '%s'!", medium_string);
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, Q_("Invalid medium type '%s'!"), medium_string);
return FALSE;
}
} else if (g_str_has_prefix(key, "writer.")) {
@@ -160,7 +160,7 @@
/* Image writer ID must be provided in parameters */
if (!writer_id) {
CDEMU_DEBUG(self, DAEMON_DEBUG_WARNING, "%s: no image writer ID provided in parameters!\n", __debug__);
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_DAEMON_ERROR, "no image writer ID provided in parameters!");
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_DAEMON_ERROR, Q_("no image writer ID provided in parameters!"));
g_hash_table_unref(writer_parameters);
return FALSE;
}
@@ -252,7 +252,7 @@
/* Check if the door is locked */
if (self->priv->locked) {
CDEMU_DEBUG(self, DAEMON_DEBUG_MMC, "%s: device is locked\n", __debug__);
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_DEVICE_LOCKED, "Device is locked!");
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_DEVICE_LOCKED, Q_("Device is locked!"));
return FALSE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/src/device-mode-pages.c new/cdemu-daemon-3.1.0/src/device-mode-pages.c
--- old/cdemu-daemon-3.0.5/src/device-mode-pages.c 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/src/device-mode-pages.c 2017-06-10 23:29:17.000000000 +0200
@@ -424,7 +424,7 @@
struct ModePageGeneral *page_new = (struct ModePageGeneral *)(new_data);
/* Get page's entry */
- GList *raw_entry = g_list_find_custom(self->priv->mode_pages_list, GINT_TO_POINTER(page_new->code), (GCompareFunc)find_mode_page);
+ GList *raw_entry = g_list_find_custom(self->priv->mode_pages_list, GINT_TO_POINTER((gint)page_new->code), (GCompareFunc)find_mode_page);
if (!raw_entry) {
CDEMU_DEBUG(self, DAEMON_DEBUG_MMC, "%s: we don't have mode page 0x%X\n", __debug__, page_new->code);
return FALSE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/src/device-recording.c new/cdemu-daemon-3.1.0/src/device-recording.c
--- old/cdemu-daemon-3.0.5/src/device-recording.c 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/src/device-recording.c 2017-06-10 23:29:17.000000000 +0200
@@ -212,6 +212,12 @@
return TRUE;
}
+static gboolean cdemu_device_recording_reserve_track (CdemuDevice *self G_GNUC_UNUSED, guint length G_GNUC_UNUSED)
+{
+ /* The default implementation is a no-op */
+ return TRUE;
+}
+
/**********************************************************************\
* Track-at-once (TAO) recording *
@@ -422,7 +428,7 @@
.close_track = cdemu_device_recording_close_track, /* Use generic function */
.close_session = cdemu_device_recording_close_session, /* Use generic function */
.write_sectors = cdemu_device_tao_recording_write_sectors,
- .reserve_track = NULL, /* No support for RESERVE TRACK */
+ .reserve_track = cdemu_device_recording_reserve_track, /* Use generic no-op function */
};
@@ -633,7 +639,7 @@
.close_track = cdemu_device_recording_close_track, /* Use generic function */
.close_session = cdemu_device_recording_close_session, /* Use generic function */
.write_sectors = cdemu_device_raw_recording_write_sectors,
- .reserve_track = NULL, /* No support for RESERVE TRACK */
+ .reserve_track = cdemu_device_recording_reserve_track, /* Use generic no-op function */
};
@@ -821,7 +827,7 @@
/* In RAW SAO mode, the host sends us lead-in */
if (address < -150 && self->priv->sao_leadin_format & 0xC0) {
- CDEMU_DEBUG(self, DAEMON_DEBUG_RECORDING, "%s: lead-in sector for RAW SAO\n", __debug__, address);
+ CDEMU_DEBUG(self, DAEMON_DEBUG_RECORDING, "%s: lead-in sector for RAW SAO\n", __debug__);
main_format_ptr = sao_main_formats_find(self->priv->sao_leadin_format);
subchannel_format_ptr = sao_subchannel_formats_find(self->priv->sao_leadin_format);
@@ -1153,7 +1159,7 @@
} else if (adr == 2 || adr == 3) {
/* MCN or ISRC; this means next entry must be valid, and must have same adr! */
if (i + 1 >= num_entries) {
- CDEMU_DEBUG(self, DAEMON_DEBUG_RECORDING, "%s: missing next CUE entry for MCN/ISRC; skipping!\n", __debug__, i);
+ CDEMU_DEBUG(self, DAEMON_DEBUG_RECORDING, "%s: missing next CUE entry for MCN/ISRC; skipping!\n", __debug__);
continue;
}
@@ -1205,7 +1211,7 @@
.close_track = cdemu_device_recording_close_track, /* Use generic function */
.close_session = cdemu_device_recording_close_session, /* Use generic function */
.write_sectors = cdemu_device_sao_recording_write_sectors,
- .reserve_track = NULL, /* No support for RESERVE TRACK */
+ .reserve_track = cdemu_device_recording_reserve_track, /* Use generic no-op function */
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/src/device.c new/cdemu-daemon-3.1.0/src/device.c
--- old/cdemu-daemon-3.0.5/src/device.c 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/src/device.c 2017-06-10 23:29:17.000000000 +0200
@@ -203,7 +203,7 @@
} else {
/* Option not found */
CDEMU_DEBUG(self, DAEMON_DEBUG_WARNING, "%s: option '%s' not found; client bug?\n", __debug__, option_name);
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, "Invalid option name '%s'!", option_name);
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, Q_("Invalid option name '%s'!"), option_name);
}
/* Unlock */
@@ -223,7 +223,7 @@
if (!g_strcmp0(option_name, "dpm-emulation")) {
/* *** dpm-emulation *** */
if (!g_variant_is_of_type(option_value, G_VARIANT_TYPE("b"))) {
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, "Invalid argument type for option '%s'!", option_name);
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, Q_("Invalid argument type for option '%s'!"), option_name);
succeeded = FALSE;
} else {
g_variant_get(option_value, "b", &self->priv->dpm_emulation);
@@ -231,7 +231,7 @@
} else if (!g_strcmp0(option_name, "tr-emulation")) {
/* *** tr-emulation *** */
if (!g_variant_is_of_type(option_value, G_VARIANT_TYPE("b"))) {
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, "Invalid argument type for option '%s'!", option_name);
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, Q_("Invalid argument type for option '%s'!"), option_name);
succeeded = FALSE;
} else {
g_variant_get(option_value, "b", &self->priv->tr_emulation);
@@ -239,7 +239,7 @@
} else if (!g_strcmp0(option_name, "bad-sector-emulation")) {
/* *** bad-sector-emulation *** */
if (!g_variant_is_of_type(option_value, G_VARIANT_TYPE("b"))) {
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, "Invalid argument type for option '%s'!", option_name);
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, Q_("Invalid argument type for option '%s'!"), option_name);
succeeded = FALSE;
} else {
g_variant_get(option_value, "b", &self->priv->bad_sector_emulation);
@@ -247,7 +247,7 @@
} else if (!g_strcmp0(option_name, "device-id")) {
/* *** device-id *** */
if (!g_variant_is_of_type(option_value, G_VARIANT_TYPE("(ssss)"))) {
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, "Invalid argument type for option '%s'!", option_name);
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, Q_("Invalid argument type for option '%s'!"), option_name);
succeeded = FALSE;
} else {
gchar *vendor_id, *product_id, *revision, *vendor_specific;
@@ -263,7 +263,7 @@
} else if (!g_strcmp0(option_name, "daemon-debug-mask")) {
/* *** daemon-debug-mask *** */
if (!g_variant_is_of_type(option_value, G_VARIANT_TYPE("i"))) {
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, "Invalid argument type for option '%s'!", option_name);
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, Q_("Invalid argument type for option '%s'!"), option_name);
succeeded = FALSE;
} else {
MirageContext *context = mirage_contextual_get_context(MIRAGE_CONTEXTUAL(self));
@@ -277,7 +277,7 @@
} else if (!g_strcmp0(option_name, "library-debug-mask")) {
/* *** library-debug-mask *** */
if (!g_variant_is_of_type(option_value, G_VARIANT_TYPE("i"))) {
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, "Invalid argument type for option '%s'!", option_name);
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, Q_("Invalid argument type for option '%s'!"), option_name);
succeeded = FALSE;
} else {
gint mask;
@@ -287,7 +287,7 @@
} else {
/* Option not found */
CDEMU_DEBUG(self, DAEMON_DEBUG_WARNING, "%s: option '%s' not found; client bug?\n", __debug__, option_name);
- g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, "Invalid option name '%s'!", option_name);
+ g_set_error(error, CDEMU_ERROR, CDEMU_ERROR_INVALID_ARGUMENT, Q_("Invalid option name '%s'!"), option_name);
succeeded = FALSE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cdemu-daemon-3.0.5/src/main.c new/cdemu-daemon-3.1.0/src/main.c
--- old/cdemu-daemon-3.0.5/src/main.c 2016-10-09 21:06:41.000000000 +0200
+++ new/cdemu-daemon-3.1.0/src/main.c 2017-06-10 23:29:17.000000000 +0200
@@ -29,11 +29,11 @@
static gchar *log_filename = NULL;
static GOptionEntry option_entries[] = {
- { "num-devices", 'n', 0, G_OPTION_ARG_INT, &num_devices, "Number of devices", "N" },
- { "ctl-device", 'c', 0, G_OPTION_ARG_STRING, &ctl_device, "Control device", "path" },
- { "audio-driver", 'a', 0, G_OPTION_ARG_STRING, &audio_driver, "Audio driver", "driver" },
- { "bus", 'b', 0, G_OPTION_ARG_STRING, &bus, "Bus type to use", "bus_type" },
- { "logfile", 'l', 0, G_OPTION_ARG_STRING, &log_filename, "Logfile", "logfile" },
+ { "num-devices", 'n', 0, G_OPTION_ARG_INT, &num_devices, N_("Number of devices"), N_("N") },
+ { "ctl-device", 'c', 0, G_OPTION_ARG_STRING, &ctl_device, N_("Control device"), N_("path") },
+ { "audio-driver", 'a', 0, G_OPTION_ARG_STRING, &audio_driver, N_("Audio driver"), N_("driver") },
+ { "bus", 'b', 0, G_OPTION_ARG_STRING, &bus, N_("Bus type to use"), N_("bus_type") },
+ { "logfile", 'l', 0, G_OPTION_ARG_STRING, &log_filename, N_("Logfile"), N_("logfile") },
{ NULL, 0, 0, G_OPTION_ARG_NONE, NULL, NULL, NULL }
};
@@ -52,10 +52,10 @@
/* Signal handler */
-static void __unix_signal_handler (int signal)
+static void __unix_signal_handler (int signal_number)
{
- g_message("Received signal - %s\n", g_strsignal(signal));
- switch (signal) {
+ g_message(Q_("Received signal - %s\n"), g_strsignal(signal_number));
+ switch (signal_number) {
case SIGINT:
case SIGQUIT:
case SIGTERM:
@@ -78,16 +78,16 @@
action.sa_flags = 0;
if (sigaction(SIGTERM, &action, 0) > 0) {
- g_warning("Failed to setup unix signal sigaction for SIGTERM!");
+ g_warning(Q_("Failed to set sigaction for SIGTERM!"));
}
if (sigaction(SIGINT, &action, 0) > 0) {
- g_warning("Failed to setup unix signal sigaction for SIGINT!");
+ g_warning(Q_("Failed to set sigaction for SIGINT!"));
}
if (sigaction(SIGQUIT, &action, 0) > 0) {
- g_warning("Failed to setup unix signal sigaction for SIGQUIT!");
+ g_warning(Q_("Failed to set sigaction for SIGQUIT!"));
}
if (sigaction(SIGHUP, &action, 0) > 0) {
- g_warning("Failed to setup unix signal sigaction for SIGHUP!");
+ g_warning(Q_("Failed to set sigaction for SIGHUP!"));
}
}
@@ -97,6 +97,12 @@
\******************************************************************************/
int main (int argc, char **argv)
{
+ /* Localization support */
+ setlocale(LC_ALL, "");
+ bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
+ bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
+ textdomain(GETTEXT_PACKAGE);
+
/* Glib type system and threading system initialization; needed
only in older glib versions */
#if !GLIB_CHECK_VERSION(2, 36, 0)
@@ -114,13 +120,14 @@
GOptionContext *option_context;
gboolean succeeded;
- option_context = g_option_context_new("- CDEmu Daemon");
- g_option_context_add_main_entries(option_context, option_entries, NULL);
+ option_context = g_option_context_new(NULL);
+ g_option_context_set_translation_domain(option_context, GETTEXT_PACKAGE);
+ g_option_context_add_main_entries(option_context, option_entries, GETTEXT_PACKAGE);
succeeded = g_option_context_parse(option_context, &argc, &argv, &error);
g_option_context_free(option_context);
if (!succeeded) {
- g_warning("Failed to parse options: %s\n", error->message);
+ g_warning(Q_("Failed to parse options: %s\n"), error->message);
g_error_free(error);
return -1;
}
@@ -129,7 +136,7 @@
if (log_filename) {
logfile = fopen(log_filename, "w"); /* Overwrite log file */
if (!logfile) {
- g_warning("Failed to open log file %s for writing!\n", log_filename);
+ g_warning(Q_("Failed to open log file %s for writing!\n"), log_filename);
return -1;
}
g_log_set_default_handler(log_handler_logfile, NULL);
@@ -137,16 +144,18 @@
/* Initialize libMirage */
if (!mirage_initialize(&error)) {
- g_warning("Failed to initialize libMirage: %s!\n", error->message);
+ g_warning(Q_("Failed to initialize libMirage: %s!\n"), error->message);
g_error_free(error);
return -1;
}
- g_message("Starting CDEmu daemon with following parameters:\n");
- g_message(" - num devices: %i\n", num_devices);
- g_message(" - ctl device: %s\n", ctl_device);
- g_message(" - audio driver: %s\n", audio_driver);
- g_message(" - bus type: %s\n\n", bus);
+ /* Display status */
+ g_message(Q_("Starting CDEmu daemon with following parameters:\n"));
+ g_message(Q_(" - num devices: %i\n"), num_devices);
+ g_message(Q_(" - control device: %s\n"), ctl_device);
+ g_message(Q_(" - audio driver: %s\n"), audio_driver);
+ g_message(Q_(" - bus type: %s\n"), bus);
+ g_message("\n");
/* Decipher bus type */
gboolean use_system_bus = FALSE;
@@ -155,13 +164,13 @@
} else if (!mirage_helper_strcasecmp(bus, "session")) {
use_system_bus = FALSE;
} else {
- g_warning("Invalid bus argument '%s', using default bus!\n", bus);
+ g_warning(Q_("Invalid bus argument '%s', using default bus!\n"), bus);
use_system_bus = FALSE;
}
/* Discourage the use of system bus */
if (use_system_bus) {
- g_message("WARNING: using CDEmu on system bus is deprecated and might lead to security issues on multi-user systems! Consult the README file for more details.\n\n");
+ g_message(Q_("WARNING: using CDEmu on system bus is deprecated and might lead to security issues on multi-user systems! Consult the README file for more details.\n\n"));
}
/* Create daemon */
@@ -173,9 +182,9 @@
/* Initialize and start daemon */
if (cdemu_daemon_initialize_and_start(daemon_obj, num_devices, ctl_device, audio_driver, use_system_bus)) {
/* Printed when daemon stops */
- g_message("Stopping daemon.\n");
+ g_message(Q_("Stopping daemon.\n"));
} else {
- g_warning("Daemon initialization and start failed!\n");
+ g_warning(Q_("Daemon initialization and start failed!\n"));
succeeded = FALSE;
}
1
0
Hello community,
here is the log from the commit of package vhba-kmp for openSUSE:Factory checked in at 2017-08-24 18:47:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vhba-kmp (Old)
and /work/SRC/openSUSE:Factory/.vhba-kmp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vhba-kmp"
Thu Aug 24 18:47:50 2017 rev:14 rq:515082 version:20170610
Changes:
--------
--- /work/SRC/openSUSE:Factory/vhba-kmp/vhba-kmp.changes 2017-05-18 20:51:45.246183643 +0200
+++ /work/SRC/openSUSE:Factory/.vhba-kmp.new/vhba-kmp.changes 2017-08-24 18:48:02.506230796 +0200
@@ -1,0 +2,7 @@
+Mon Aug 7 13:28:09 UTC 2017 - jengelh(a)inai.de
+
+- Update to new upstream release 20170610
+ * Support for Linux 4.11 (integrate vhba-signal.diff)
+- Drop vhba-signal.diff (merged upstream)
+
+-------------------------------------------------------------------
Old:
----
vhba-module-20161009.tar.bz2
vhba-signal.diff
New:
----
vhba-module-20170610.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vhba-kmp.spec ++++++
--- /var/tmp/diff_new_pack.3HPy6h/_old 2017-08-24 18:48:03.202132811 +0200
+++ /var/tmp/diff_new_pack.3HPy6h/_new 2017-08-24 18:48:03.206132248 +0200
@@ -17,7 +17,7 @@
Name: vhba-kmp
-Version: 20161009
+Version: 20170610
Release: 0
Summary: Virtual SCSI Host Bus Adapter
License: GPL-2.0+
@@ -29,7 +29,6 @@
Source2: %name-preamble
Patch1: vhba-no-werror.diff
Patch2: vhba-devname.diff
-Patch3: vhba-signal.diff
BuildRequires: kernel-syms >= 2.6.20
BuildRequires: modutils
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -57,7 +56,7 @@
%prep
echo %flavors_to_build
%setup -qn vhba-module-%version
-%patch -P 1 -P 2 -P 3 -p1
+%patch -P 1 -P 2 -p1
%build
for flavor in %flavors_to_build; do
++++++ vhba-module-20161009.tar.bz2 -> vhba-module-20170610.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vhba-module-20161009/Makefile new/vhba-module-20170610/Makefile
--- old/vhba-module-20161009/Makefile 2016-10-09 21:03:17.000000000 +0200
+++ new/vhba-module-20170610/Makefile 2017-06-10 23:29:17.000000000 +0200
@@ -1,4 +1,4 @@
-VHBA_VERSION := 20161009
+VHBA_VERSION := 20170610
KERNELRELEASE ?= $(shell uname -r)
KDIR ?= /lib/modules/$(KERNELRELEASE)/build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vhba-module-20161009/debian/changelog new/vhba-module-20170610/debian/changelog
--- old/vhba-module-20161009/debian/changelog 2016-10-09 21:03:17.000000000 +0200
+++ new/vhba-module-20170610/debian/changelog 2017-06-10 23:29:17.000000000 +0200
@@ -1,3 +1,3 @@
-vhba-module (20161009-1) debian; urgency=low
+vhba-module (20170610-1) debian; urgency=low
* Initial Release. Closes: #705409
-- Henrik Stokseth <hstokset(a)users.sourceforge.net> Sat, 05 Apr 2014 12:00:00 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vhba-module-20161009/vhba.c new/vhba-module-20170610/vhba.c
--- old/vhba-module-20161009/vhba.c 2016-10-09 21:03:17.000000000 +0200
+++ new/vhba-module-20170610/vhba.c 2017-06-10 23:29:17.000000000 +0200
@@ -18,16 +18,21 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#include <linux/version.h>
+
#include <linux/init.h>
#include <linux/module.h>
#include <linux/highmem.h>
#include <linux/fs.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+#include <linux/sched/signal.h>
+#else
#include <linux/sched.h>
+#endif
#include <linux/platform_device.h>
#include <linux/miscdevice.h>
#include <linux/poll.h>
#include <linux/slab.h>
-#include <linux/version.h>
#ifdef CONFIG_COMPAT
#include <linux/compat.h>
#endif
1
0
Hello community,
here is the log from the commit of package tilde for openSUSE:Factory checked in at 2017-08-24 18:47:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tilde (Old)
and /work/SRC/openSUSE:Factory/.tilde.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tilde"
Thu Aug 24 18:47:42 2017 rev:6 rq:515080 version:0.3.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/tilde/tilde.changes 2015-02-20 12:01:51.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.tilde.new/tilde.changes 2017-08-24 18:48:00.386529258 +0200
@@ -1,0 +2,8 @@
+Mon Aug 7 19:00:36 UTC 2017 - jengelh(a)inai.de
+
+- Update to new upstream release 0.3.7
+ * Resolve crashes that happened on program exit
+ * Add a "toggle comment" functionality.
+ * Several problems with syntax highlighting were fixed.
+
+-------------------------------------------------------------------
Old:
----
tilde-0.3.4.tar.bz2
New:
----
tilde-0.3.7.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tilde.spec ++++++
--- /var/tmp/diff_new_pack.9QyIXb/_old 2017-08-24 18:48:01.958307946 +0200
+++ /var/tmp/diff_new_pack.9QyIXb/_new 2017-08-24 18:48:01.962307382 +0200
@@ -1,7 +1,7 @@
#
# spec file for package tilde
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: tilde
-Version: 0.3.4
+Version: 0.3.7
Release: 0
Summary: An intuitive text editor for the terminal
License: GPL-3.0
@@ -35,10 +35,9 @@
BuildRequires: libunistring-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libt3config) >= 0.2.6
-BuildRequires: pkgconfig(libt3highlight) >= 0.2.1
-BuildRequires: pkgconfig(libt3widget) >= 0.2.0
+BuildRequires: pkgconfig(libt3highlight) >= 0.4.0
+BuildRequires: pkgconfig(libt3widget) >= 0.5.0
BuildRequires: pkgconfig(libtranscript) >= 0.2.0
-BuildRequires: pkgconfig(sigc++-2.0)
%description
Tilde is a text editor for the console/terminal, which provides an
@@ -63,6 +62,7 @@
%defattr(-,root,root)
%_bindir/tilde
%_docdir/%name/
+%_datadir/%name/
%_mandir/man1/tilde.1*
%doc COPYING
++++++ tilde-0.3.4.tar.bz2 -> tilde-0.3.7.tar.bz2 ++++++
++++ 1713 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/Changelog new/tilde-0.3.7/Changelog
--- old/tilde-0.3.4/Changelog 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/Changelog 2016-02-23 08:20:17.000000000 +0100
@@ -1,5 +1,27 @@
+Version 0.3.7:
+ Bug fixes:
+ - Make the dialogs for stepped actions (save, load, quit) abort when the
+ user closes the dialog by using the escape key. Failing to do so would
+ result in failure to reset the terminal and random crashes.
+
+Version 0.3.6:
+ Re-release of version 0.3.5 to fix build problems.
+
+Version 0.3.5:
+ New features:
+ - Added "toggle line comment" functionality.
+
+ Bug fixes:
+ - When the syntax highlighting changes through saving the file under a new
+ name, the screen is now correctly updated.
+ - Syntax highlighting is now changed when a file is saved under a new name.
+ - Reading in background colors from the configuration file did not work
+ for most colors.
+ - Better handling of several signals, ensuring that the terminal won't be
+ left in an unusable state.
+
Version 0.3.4:
- Re-release of version 0.3.4 to update the configure script.
+ Re-release of version 0.3.3 to update the configure script.
Version 0.3.3:
Bug fixes:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/config.pkg new/tilde-0.3.7/config.pkg
--- old/tilde-0.3.4/config.pkg 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/config.pkg 2016-02-23 08:20:17.000000000 +0100
@@ -45,7 +45,12 @@
checkfunction_internal test_compile_cxx "$@"
}
+test_link_cxx_with_flags() {
+ test_link_cxx "$@" "CXXFLAGS=$CXXFLAGS"
+}
+
config() {
+ has_support_cxx11
clean_cxx
cat > .configcxx.cc <<EOF
#include <transcript/transcript.h>
@@ -82,7 +87,7 @@
return 0;
}
EOF
- pkgconfig libt3widget/0.2.0 LIBT3WIDGET test_link_cxx || \
+ pkgconfig libt3widget/0.5.0 LIBT3WIDGET test_link_cxx_with_flags || \
error "!! Can not find libt3widget. libt3widget is required to compile tilde."
clean_cxx
@@ -106,7 +111,7 @@
return 0;
}
EOF
- pkgconfig libt3highlight/0.2.1 LIBT3HIGHLIGHT test_link_cxx || \
+ pkgconfig libt3highlight/0.4.0 LIBT3HIGHLIGHT test_link_cxx || \
error "!! Can not find libt3highlight. libt3highlight is required to compile tilde."
clean_cxx
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/man/tilde.1 new/tilde-0.3.7/man/tilde.1
--- old/tilde-0.3.4/man/tilde.1 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/man/tilde.1 2016-02-23 08:20:17.000000000 +0100
@@ -1,5 +1,5 @@
.\" Generated by manscript from tilde.1.txt
-.TH "TILDE" "1" "2013/06/08" "0.3.4" "An intuitive terminal text editor"
+.TH "TILDE" "1" "2013/06/08" "0.3.7" "An intuitive terminal text editor"
.SH NAME
tilde \- an intuitive text editor for the console/terminal
.SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/action.h new/tilde-0.3.7/src/action.h
--- old/tilde-0.3.4/src/action.h 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/action.h 2016-02-23 08:20:17.000000000 +0100
@@ -63,6 +63,7 @@
TOOLS_HIGHLIGHTING,
TOOLS_STRIP_SPACES,
TOOLS_AUTOCOMPLETE,
+ TOOLS_TOGGLE_LINE_COMMENT,
);
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/base.config new/tilde-0.3.7/src/base.config
--- old/tilde-0.3.4/src/base.config 1970-01-01 01:00:00.000000000 +0100
+++ new/tilde-0.3.7/src/base.config 2016-02-23 08:20:17.000000000 +0100
@@ -0,0 +1,45 @@
+config_version = 1
+%lang {
+ name = "C++"
+ line_comment = "//"
+}
+%lang {
+ name = "C"
+ line_comment = "//"
+}
+%lang {
+ name = "LLgen"
+ line_comment = "//"
+}
+%lang {
+ name = "Java"
+ line_comment = "//"
+}
+%lang {
+ name = "Shell"
+ line_comment = "#"
+}
+%lang {
+ name = "Python"
+ line_comment = "#"
+}
+%lang {
+ name = "Python 3"
+ line_comment = "#"
+}
+%lang {
+ name = "Perl"
+ line_comment = "#"
+}
+%lang {
+ name = "JavaScript"
+ line_comment = "//"
+}
+%lang {
+ name = "T3 Highlight Language Definition"
+ line_comment = "#"
+}
+%lang {
+ name = "Makefile"
+ line_comment = "#"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/base_config.bytes new/tilde-0.3.7/src/base_config.bytes
--- old/tilde-0.3.4/src/base_config.bytes 1970-01-01 01:00:00.000000000 +0100
+++ new/tilde-0.3.7/src/base_config.bytes 2016-02-23 08:20:17.000000000 +0100
@@ -0,0 +1,19 @@
+ 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x73,
+ 0x63, 0x20, 0x7b, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x73, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x22, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x6b, 0x65, 0x79,
+ 0x73, 0x20, 0x7b, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x7b, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20,
+ 0x3d, 0x20, 0x22, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x20, 0x7d, 0x0a, 0x6c, 0x69, 0x6e,
+ 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x7b, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x20, 0x3d, 0x20, 0x22, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x20, 0x7d, 0x0a, 0x7d, 0x0a,
+ 0x69, 0x74, 0x65, 0x6d, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x61, 0x6e, 0x79,
+ 0x22, 0x0a, 0x25, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x20, 0x3d, 0x20,
+ 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x0a, 0x7d, 0x0a, 0x7d, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
+ 0x65, 0x64, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x20, 0x7b, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x20,
+ 0x3d, 0x20, 0x22, 0x69, 0x6e, 0x74, 0x22, 0x0a, 0x7d, 0x0a, 0x6c, 0x61, 0x6e, 0x67, 0x20, 0x7b,
+ 0x0a, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x0a, 0x69,
+ 0x74, 0x65, 0x6d, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x6c, 0x61, 0x6e, 0x67,
+ 0x5f, 0x64, 0x65, 0x73, 0x63, 0x22, 0x0a, 0x7d, 0x0a, 0x7d, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x2d,
+ 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x61, 0x6e, 0x79, 0x22, 0x0a, 0x25, 0x63, 0x6f,
+ 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x31, 0x22, 0x0a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/base_config.schema new/tilde-0.3.7/src/base_config.schema
--- old/tilde-0.3.4/src/base_config.schema 1970-01-01 01:00:00.000000000 +0100
+++ new/tilde-0.3.7/src/base_config.schema 2016-02-23 08:20:17.000000000 +0100
@@ -0,0 +1,38 @@
+# Copyright (C) 2015 G.P. Halkes
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 3, as
+# published by the Free Software Foundation.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+types {
+ lang_desc {
+ type = "section"
+ allowed-keys {
+ name { type = "string" }
+ line_comment { type = "string" }
+ }
+ item-type = "any"
+ %constraint = "name"
+ }
+}
+
+allowed-keys {
+ config_version {
+ type = "int"
+ }
+
+ lang {
+ type = "list"
+ item-type = "lang_desc"
+ }
+}
+item-type = "any"
+
+%constraint = "config_version = 1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/dialogs/attributesdialog.cc new/tilde-0.3.7/src/dialogs/attributesdialog.cc
--- old/tilde-0.3.4/src/dialogs/attributesdialog.cc 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/dialogs/attributesdialog.cc 2016-02-23 08:20:17.000000000 +0100
@@ -21,8 +21,8 @@
widget_group->set_size(widget_count, width - 4); \
var = new expander_t(name); \
var->set_child(widget_group); \
- var->connect_move_focus_up(sigc::mem_fun(this, &attributes_dialog_t::focus_previous)); \
- var->connect_move_focus_down(sigc::mem_fun(this, &attributes_dialog_t::focus_next)); \
+ var->connect_move_focus_up(signals::mem_fun(this, &attributes_dialog_t::focus_previous)); \
+ var->connect_move_focus_down(signals::mem_fun(this, &attributes_dialog_t::focus_next)); \
expander_group->add_expander(var); \
}
@@ -33,9 +33,9 @@
change_button = new button_t("Change"); \
change_button->set_anchor(widget_group, T3_PARENT(T3_ANCHOR_TOPRIGHT) | T3_CHILD(T3_ANCHOR_TOPRIGHT)); \
change_button->set_position(widget_count, 0); \
- change_button->connect_activate(sigc::bind(sigc::mem_fun(this, &attributes_dialog_t::change_button_activated), sym)); \
- change_button->connect_move_focus_up(sigc::mem_fun(widget_group, &widget_group_t::focus_previous)); \
- change_button->connect_move_focus_down(sigc::mem_fun(widget_group, &widget_group_t::focus_next)); \
+ change_button->connect_activate(signals::bind(signals::mem_fun(this, &attributes_dialog_t::change_button_activated), sym)); \
+ change_button->connect_move_focus_up(signals::mem_fun(widget_group, &widget_group_t::focus_previous)); \
+ change_button->connect_move_focus_down(signals::mem_fun(widget_group, &widget_group_t::focus_next)); \
widget_group->add_child(change_button); \
widget_name = new attribute_test_line_t(); \
widget_name->set_anchor(change_button, T3_PARENT(T3_ANCHOR_TOPLEFT) | T3_CHILD(T3_ANCHOR_TOPRIGHT)); \
@@ -56,10 +56,10 @@
color_box->set_label(label);
color_box->set_anchor(this, T3_PARENT(T3_ANCHOR_TOPRIGHT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
color_box->set_position(1, -2);
- color_box->connect_move_focus_up(sigc::mem_fun(this, &attributes_dialog_t::focus_previous));
- color_box->connect_move_focus_down(sigc::mem_fun(this, &attributes_dialog_t::focus_next));
- color_box->connect_activate(sigc::mem_fun(this, &attributes_dialog_t::handle_activate));
- color_box->connect_toggled(sigc::mem_fun(this, &attributes_dialog_t::update_attribute_lines));
+ color_box->connect_move_focus_up(signals::mem_fun(this, &attributes_dialog_t::focus_previous));
+ color_box->connect_move_focus_down(signals::mem_fun(this, &attributes_dialog_t::focus_next));
+ color_box->connect_activate(signals::mem_fun(this, &attributes_dialog_t::handle_activate));
+ color_box->connect_toggled(signals::mem_fun(this, &attributes_dialog_t::update_attribute_lines));
expander_group = new expander_group_t();
@@ -107,23 +107,23 @@
syntax_highlight->set_anchor(text_area, T3_PARENT(T3_ANCHOR_BOTTOMLEFT) | T3_CHILD(T3_ANCHOR_TOPLEFT));
syntax_highlight->set_position(0, 0);
- expander_group->connect_expanded(sigc::mem_fun(this, &attributes_dialog_t::expander_size_change));
+ expander_group->connect_expanded(signals::mem_fun(this, &attributes_dialog_t::expander_size_change));
cancel_button = new button_t("_Cancel");
cancel_button->set_anchor(this, T3_PARENT(T3_ANCHOR_BOTTOMRIGHT) | T3_CHILD(T3_ANCHOR_BOTTOMRIGHT));
cancel_button->set_position(-1, -2);
- cancel_button->connect_activate(sigc::mem_fun(this, &attributes_dialog_t::close));
- cancel_button->connect_move_focus_up(sigc::mem_fun(this, &attributes_dialog_t::focus_previous));
- cancel_button->connect_move_focus_up(sigc::mem_fun(this, &attributes_dialog_t::focus_previous));
- cancel_button->connect_move_focus_left(sigc::mem_fun(this, &attributes_dialog_t::focus_previous));
+ cancel_button->connect_activate(signals::mem_fun(this, &attributes_dialog_t::close));
+ cancel_button->connect_move_focus_up(signals::mem_fun(this, &attributes_dialog_t::focus_previous));
+ cancel_button->connect_move_focus_up(signals::mem_fun(this, &attributes_dialog_t::focus_previous));
+ cancel_button->connect_move_focus_left(signals::mem_fun(this, &attributes_dialog_t::focus_previous));
ok_button = new button_t("_Ok", true);
ok_button->set_anchor(cancel_button, T3_PARENT(T3_ANCHOR_TOPLEFT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
ok_button->set_position(0, -2);
- ok_button->connect_move_focus_up(sigc::mem_fun(this, &attributes_dialog_t::focus_previous));
- ok_button->connect_move_focus_right(sigc::mem_fun(this, &attributes_dialog_t::focus_next));
- ok_button->connect_activate(sigc::mem_fun(this, &attributes_dialog_t::handle_activate));
+ ok_button->connect_move_focus_up(signals::mem_fun(this, &attributes_dialog_t::focus_previous));
+ ok_button->connect_move_focus_right(signals::mem_fun(this, &attributes_dialog_t::focus_next));
+ ok_button->connect_activate(signals::mem_fun(this, &attributes_dialog_t::handle_activate));
push_back(color_box);
push_back(interface);
@@ -134,8 +134,8 @@
picker = new attribute_picker_dialog_t();
picker->center_over(this);
- picker->connect_attribute_selected(sigc::mem_fun(this, &attributes_dialog_t::attribute_selected));
- picker->connect_default_selected(sigc::mem_fun(this, &attributes_dialog_t::default_attribute_selected));
+ picker->connect_attribute_selected(signals::mem_fun(this, &attributes_dialog_t::attribute_selected));
+ picker->connect_default_selected(signals::mem_fun(this, &attributes_dialog_t::default_attribute_selected));
}
bool attributes_dialog_t::set_size(optint height, optint width) {
@@ -205,6 +205,13 @@
SET_WITH_DEFAULT(addition, ADDITION);
SET_WITH_DEFAULT(deletion, DELETION);
#undef SET_WITH_DEFAULT
+ default:
+ // This means we somehow got a bad attribute key, which is a logic error.
+ // However, we don't want to crash on this (at least outside of debug mode).
+#ifdef DEBUG
+ PANIC();
+#endif
+ break;
}
picker->show();
}
@@ -402,6 +409,13 @@
SET_WITH_DEFAULT(addition, ADDITION);
SET_WITH_DEFAULT(deletion, DELETION);
#undef SET_WITH_DEFAULT
+ default:
+ // This means we somehow got a bad attribute key, which is a logic error.
+ // However, we don't want to crash on this (at least outside of debug mode).
+#ifdef DEBUG
+ PANIC();
+#endif
+ break;
}
picker->hide();
}
@@ -454,6 +468,13 @@
SET_DEFAULT(addition, ADDITION);
SET_DEFAULT(deletion, DELETION);
#undef SET_DEFAULT
+ default:
+ // This means we somehow got a bad attribute key, which is a logic error.
+ // However, we don't want to crash on this (at least outside of debug mode).
+#ifdef DEBUG
+ PANIC();
+#endif
+ break;
}
picker->hide();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/dialogs/encodingdialog.cc new/tilde-0.3.7/src/dialogs/encodingdialog.cc
--- old/tilde-0.3.4/src/dialogs/encodingdialog.cc 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/dialogs/encodingdialog.cc 2016-02-23 08:20:17.000000000 +0100
@@ -115,8 +115,8 @@
list = new list_pane_t(true);
list->set_size(height - 4, width - 2);
list->set_position(1, 1);
- list->connect_activate(sigc::mem_fun(this, &encoding_dialog_t::ok_activated));
- list->connect_selection_changed(sigc::mem_fun(this, &encoding_dialog_t::selection_changed));
+ list->connect_activate(signals::mem_fun(this, &encoding_dialog_t::ok_activated));
+ list->connect_selection_changed(signals::mem_fun(this, &encoding_dialog_t::selection_changed));
for (charset_descs_t::const_iterator iter = available_charsets.begin(); iter != available_charsets.end(); iter++) {
label_t *label = new label_t(iter->name);
@@ -133,17 +133,17 @@
manual_entry->set_anchor(this, T3_PARENT(T3_ANCHOR_BOTTOMLEFT) | T3_CHILD(T3_ANCHOR_BOTTOMLEFT));
manual_entry->set_position(-1, 2);
manual_entry->set_size(1, 25);
- manual_entry->connect_activate(sigc::mem_fun(this, &encoding_dialog_t::ok_activated));
+ manual_entry->connect_activate(signals::mem_fun(this, &encoding_dialog_t::ok_activated));
manual_entry->hide();
cancel_button = new button_t("_Cancel", false);
cancel_button->set_anchor(this, T3_PARENT(T3_ANCHOR_BOTTOMRIGHT) | T3_CHILD(T3_ANCHOR_BOTTOMRIGHT));
cancel_button->set_position(-1, -2);
- cancel_button->connect_activate(sigc::mem_fun(this, &encoding_dialog_t::close));
+ cancel_button->connect_activate(signals::mem_fun(this, &encoding_dialog_t::close));
ok_button = new button_t("_OK", true);
ok_button->set_anchor(cancel_button, T3_PARENT(T3_ANCHOR_TOPLEFT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
ok_button->set_position(0, -2);
- ok_button->connect_activate(sigc::mem_fun(this, &encoding_dialog_t::ok_activated));
+ ok_button->connect_activate(signals::mem_fun(this, &encoding_dialog_t::ok_activated));
push_back(list);
push_back(horizontal_separator);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/dialogs/highlightdialog.cc new/tilde-0.3.7/src/dialogs/highlightdialog.cc
--- old/tilde-0.3.4/src/dialogs/highlightdialog.cc 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/dialogs/highlightdialog.cc 2016-02-23 08:20:17.000000000 +0100
@@ -38,7 +38,7 @@
list = new list_pane_t(true);
list->set_size(height - 3, width - 2);
list->set_position(1, 1);
- list->connect_activate(sigc::mem_fun(this, &highlight_dialog_t::ok_activated));
+ list->connect_activate(signals::mem_fun(this, &highlight_dialog_t::ok_activated));
label = new label_t("Plain Text");
list->push_back(label);
@@ -63,11 +63,11 @@
cancel_button = new button_t("_Cancel", false);
cancel_button->set_anchor(this, T3_PARENT(T3_ANCHOR_BOTTOMRIGHT) | T3_CHILD(T3_ANCHOR_BOTTOMRIGHT));
cancel_button->set_position(-1, -2);
- cancel_button->connect_activate(sigc::mem_fun(this, &highlight_dialog_t::close));
+ cancel_button->connect_activate(signals::mem_fun(this, &highlight_dialog_t::close));
ok_button = new button_t("_OK", true);
ok_button->set_anchor(cancel_button, T3_PARENT(T3_ANCHOR_TOPLEFT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
ok_button->set_position(0, -2);
- ok_button->connect_activate(sigc::mem_fun(this, &highlight_dialog_t::ok_activated));
+ ok_button->connect_activate(signals::mem_fun(this, &highlight_dialog_t::ok_activated));
push_back(list);
push_back(ok_button);
@@ -96,7 +96,7 @@
if (idx == 0) {
hide();
- language_selected(NULL);
+ language_selected(NULL, NULL);
return;
}
@@ -110,7 +110,7 @@
return;
}
hide();
- language_selected(highlight);
+ language_selected(highlight, names[idx - 1].name);
}
void highlight_dialog_t::set_selected(const char *lang_file) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/dialogs/highlightdialog.h new/tilde-0.3.7/src/dialogs/highlightdialog.h
--- old/tilde-0.3.4/src/dialogs/highlightdialog.h 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/dialogs/highlightdialog.h 2016-02-23 08:20:17.000000000 +0100
@@ -32,7 +32,7 @@
void ok_activated(void);
void set_selected(const char *lang_file);
- T3_WIDGET_SIGNAL(language_selected, void, t3_highlight_t *);
+ T3_WIDGET_SIGNAL(language_selected, void, t3_highlight_t *, const char *);
};
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/dialogs/openrecentdialog.cc new/tilde-0.3.7/src/dialogs/openrecentdialog.cc
--- old/tilde-0.3.4/src/dialogs/openrecentdialog.cc 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/dialogs/openrecentdialog.cc 2016-02-23 08:20:17.000000000 +0100
@@ -23,16 +23,16 @@
list = new list_pane_t(true);
list->set_size(height - 3, width - 2);
list->set_position(1, 1);
- list->connect_activate(sigc::mem_fun(this, &open_recent_dialog_t::ok_activated));
+ list->connect_activate(signals::mem_fun(this, &open_recent_dialog_t::ok_activated));
cancel_button = new button_t("_Cancel", false);
cancel_button->set_anchor(this, T3_PARENT(T3_ANCHOR_BOTTOMRIGHT) | T3_CHILD(T3_ANCHOR_BOTTOMRIGHT));
cancel_button->set_position(-1, -2);
- cancel_button->connect_activate(sigc::mem_fun(this, &open_recent_dialog_t::close));
+ cancel_button->connect_activate(signals::mem_fun(this, &open_recent_dialog_t::close));
ok_button = new button_t("_OK", true);
ok_button->set_anchor(cancel_button, T3_PARENT(T3_ANCHOR_TOPLEFT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
ok_button->set_position(0, -2);
- ok_button->connect_activate(sigc::mem_fun(this, &open_recent_dialog_t::ok_activated));
+ ok_button->connect_activate(signals::mem_fun(this, &open_recent_dialog_t::ok_activated));
push_back(list);
push_back(ok_button);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/dialogs/optionsdialog.cc new/tilde-0.3.7/src/dialogs/optionsdialog.cc
--- old/tilde-0.3.4/src/dialogs/optionsdialog.cc 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/dialogs/optionsdialog.cc 2016-02-23 08:20:17.000000000 +0100
@@ -35,8 +35,8 @@
tabsize_field->set_size(1, 5);
tabsize_field->set_anchor(this, T3_PARENT(T3_ANCHOR_TOPRIGHT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
tabsize_field->set_position(1, -2);
- tabsize_field->connect_move_focus_down(sigc::mem_fun(this, &buffer_options_dialog_t::focus_next));
- tabsize_field->connect_activate(sigc::mem_fun(this, &buffer_options_dialog_t::handle_activate));
+ tabsize_field->connect_move_focus_down(signals::mem_fun(this, &buffer_options_dialog_t::focus_next));
+ tabsize_field->connect_activate(signals::mem_fun(this, &buffer_options_dialog_t::handle_activate));
push_back(tabsize_field);
width = label->get_width() + 2 + 5;
@@ -48,9 +48,9 @@
tab_spaces_box->set_label(label);
tab_spaces_box->set_anchor(this, T3_PARENT(T3_ANCHOR_TOPRIGHT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
tab_spaces_box->set_position(2, -2);
- tab_spaces_box->connect_move_focus_up(sigc::mem_fun(this, &buffer_options_dialog_t::focus_previous));
- tab_spaces_box->connect_move_focus_down(sigc::mem_fun(this, &buffer_options_dialog_t::focus_next));
- tab_spaces_box->connect_activate(sigc::mem_fun(this, &buffer_options_dialog_t::handle_activate));
+ tab_spaces_box->connect_move_focus_up(signals::mem_fun(this, &buffer_options_dialog_t::focus_previous));
+ tab_spaces_box->connect_move_focus_down(signals::mem_fun(this, &buffer_options_dialog_t::focus_next));
+ tab_spaces_box->connect_activate(signals::mem_fun(this, &buffer_options_dialog_t::handle_activate));
push_back(tab_spaces_box);
width = max(label->get_width() + 2 + 3, width);
@@ -62,9 +62,9 @@
wrap_box->set_label(label);
wrap_box->set_anchor(this, T3_PARENT(T3_ANCHOR_TOPRIGHT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
wrap_box->set_position(3, -2);
- wrap_box->connect_move_focus_up(sigc::mem_fun(this, &buffer_options_dialog_t::focus_previous));
- wrap_box->connect_move_focus_down(sigc::mem_fun(this, &buffer_options_dialog_t::focus_next));
- wrap_box->connect_activate(sigc::mem_fun(this, &buffer_options_dialog_t::handle_activate));
+ wrap_box->connect_move_focus_up(signals::mem_fun(this, &buffer_options_dialog_t::focus_previous));
+ wrap_box->connect_move_focus_down(signals::mem_fun(this, &buffer_options_dialog_t::focus_next));
+ wrap_box->connect_activate(signals::mem_fun(this, &buffer_options_dialog_t::handle_activate));
push_back(wrap_box);
width = max(label->get_width() + 2 + 3, width);
@@ -76,9 +76,9 @@
auto_indent_box->set_label(label);
auto_indent_box->set_anchor(this, T3_PARENT(T3_ANCHOR_TOPRIGHT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
auto_indent_box->set_position(4, -2);
- auto_indent_box->connect_move_focus_up(sigc::mem_fun(this, &buffer_options_dialog_t::focus_previous));
- auto_indent_box->connect_move_focus_down(sigc::mem_fun(this, &buffer_options_dialog_t::focus_next));
- auto_indent_box->connect_activate(sigc::mem_fun(this, &buffer_options_dialog_t::handle_activate));
+ auto_indent_box->connect_move_focus_up(signals::mem_fun(this, &buffer_options_dialog_t::focus_previous));
+ auto_indent_box->connect_move_focus_down(signals::mem_fun(this, &buffer_options_dialog_t::focus_next));
+ auto_indent_box->connect_activate(signals::mem_fun(this, &buffer_options_dialog_t::handle_activate));
push_back(auto_indent_box);
width = max(label->get_width() + 2 + 3, width);
@@ -90,9 +90,9 @@
indent_aware_home_box->set_label(label);
indent_aware_home_box->set_anchor(this, T3_PARENT(T3_ANCHOR_TOPRIGHT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
indent_aware_home_box->set_position(5, -2);
- indent_aware_home_box->connect_move_focus_up(sigc::mem_fun(this, &buffer_options_dialog_t::focus_previous));
- indent_aware_home_box->connect_move_focus_down(sigc::mem_fun(this, &buffer_options_dialog_t::focus_next));
- indent_aware_home_box->connect_activate(sigc::mem_fun(this, &buffer_options_dialog_t::handle_activate));
+ indent_aware_home_box->connect_move_focus_up(signals::mem_fun(this, &buffer_options_dialog_t::focus_previous));
+ indent_aware_home_box->connect_move_focus_down(signals::mem_fun(this, &buffer_options_dialog_t::focus_next));
+ indent_aware_home_box->connect_activate(signals::mem_fun(this, &buffer_options_dialog_t::handle_activate));
push_back(indent_aware_home_box);
width = max(label->get_width() + 2 + 3, width);
@@ -104,9 +104,9 @@
show_tabs_box->set_label(label);
show_tabs_box->set_anchor(this, T3_PARENT(T3_ANCHOR_TOPRIGHT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
show_tabs_box->set_position(6, -2);
- show_tabs_box->connect_move_focus_up(sigc::mem_fun(this, &buffer_options_dialog_t::focus_previous));
- show_tabs_box->connect_move_focus_down(sigc::mem_fun(this, &buffer_options_dialog_t::focus_next));
- show_tabs_box->connect_activate(sigc::mem_fun(this, &buffer_options_dialog_t::handle_activate));
+ show_tabs_box->connect_move_focus_up(signals::mem_fun(this, &buffer_options_dialog_t::focus_previous));
+ show_tabs_box->connect_move_focus_down(signals::mem_fun(this, &buffer_options_dialog_t::focus_next));
+ show_tabs_box->connect_activate(signals::mem_fun(this, &buffer_options_dialog_t::handle_activate));
push_back(show_tabs_box);
width = max(label->get_width() + 2 + 3, width);
@@ -118,9 +118,9 @@
strip_spaces_box->set_label(label);
strip_spaces_box->set_anchor(this, T3_PARENT(T3_ANCHOR_TOPRIGHT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
strip_spaces_box->set_position(7, -2);
- strip_spaces_box->connect_move_focus_up(sigc::mem_fun(this, &buffer_options_dialog_t::focus_previous));
- strip_spaces_box->connect_move_focus_down(sigc::mem_fun(this, &buffer_options_dialog_t::focus_next));
- strip_spaces_box->connect_activate(sigc::mem_fun(this, &buffer_options_dialog_t::handle_activate));
+ strip_spaces_box->connect_move_focus_up(signals::mem_fun(this, &buffer_options_dialog_t::focus_previous));
+ strip_spaces_box->connect_move_focus_down(signals::mem_fun(this, &buffer_options_dialog_t::focus_next));
+ strip_spaces_box->connect_activate(signals::mem_fun(this, &buffer_options_dialog_t::handle_activate));
push_back(strip_spaces_box);
width = max(label->get_width() + 2 + 3, width);
@@ -128,17 +128,17 @@
cancel_button = new button_t("_Cancel");
cancel_button->set_anchor(this, T3_PARENT(T3_ANCHOR_BOTTOMRIGHT) | T3_CHILD(T3_ANCHOR_BOTTOMRIGHT));
cancel_button->set_position(-1, -2);
- cancel_button->connect_activate(sigc::mem_fun(this, &buffer_options_dialog_t::close));
- cancel_button->connect_move_focus_up(sigc::mem_fun(this, &buffer_options_dialog_t::focus_previous));
- cancel_button->connect_move_focus_up(sigc::mem_fun(this, &buffer_options_dialog_t::focus_previous));
- cancel_button->connect_move_focus_left(sigc::mem_fun(this, &buffer_options_dialog_t::focus_previous));
+ cancel_button->connect_activate(signals::mem_fun(this, &buffer_options_dialog_t::close));
+ cancel_button->connect_move_focus_up(signals::mem_fun(this, &buffer_options_dialog_t::focus_previous));
+ cancel_button->connect_move_focus_up(signals::mem_fun(this, &buffer_options_dialog_t::focus_previous));
+ cancel_button->connect_move_focus_left(signals::mem_fun(this, &buffer_options_dialog_t::focus_previous));
ok_button = new button_t("_Ok", true);
ok_button->set_anchor(cancel_button, T3_PARENT(T3_ANCHOR_TOPLEFT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
ok_button->set_position(0, -2);
- ok_button->connect_move_focus_up(sigc::mem_fun(this, &buffer_options_dialog_t::focus_previous));
- ok_button->connect_move_focus_right(sigc::mem_fun(this, &buffer_options_dialog_t::focus_next));
- ok_button->connect_activate(sigc::mem_fun(this, &buffer_options_dialog_t::handle_activate));
+ ok_button->connect_move_focus_up(signals::mem_fun(this, &buffer_options_dialog_t::focus_previous));
+ ok_button->connect_move_focus_right(signals::mem_fun(this, &buffer_options_dialog_t::focus_next));
+ ok_button->connect_activate(signals::mem_fun(this, &buffer_options_dialog_t::handle_activate));
push_back(ok_button);
push_back(cancel_button);
@@ -224,9 +224,9 @@
hide_menu_box->set_label(label);
hide_menu_box->set_anchor(this, T3_PARENT(T3_ANCHOR_TOPRIGHT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
hide_menu_box->set_position(1, -2);
- hide_menu_box->connect_move_focus_up(sigc::mem_fun(this, &misc_options_dialog_t::focus_previous));
- hide_menu_box->connect_move_focus_down(sigc::mem_fun(this, &misc_options_dialog_t::focus_next));
- hide_menu_box->connect_activate(sigc::mem_fun(this, &misc_options_dialog_t::handle_activate));
+ hide_menu_box->connect_move_focus_up(signals::mem_fun(this, &misc_options_dialog_t::focus_previous));
+ hide_menu_box->connect_move_focus_down(signals::mem_fun(this, &misc_options_dialog_t::focus_next));
+ hide_menu_box->connect_activate(signals::mem_fun(this, &misc_options_dialog_t::handle_activate));
push_back(hide_menu_box);
width = max(label->get_width() + 2 + 3, width);
@@ -238,9 +238,9 @@
save_backup_box->set_label(label);
save_backup_box->set_anchor(this, T3_PARENT(T3_ANCHOR_TOPRIGHT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
save_backup_box->set_position(2, -2);
- save_backup_box->connect_move_focus_up(sigc::mem_fun(this, &misc_options_dialog_t::focus_previous));
- save_backup_box->connect_move_focus_down(sigc::mem_fun(this, &misc_options_dialog_t::focus_next));
- save_backup_box->connect_activate(sigc::mem_fun(this, &misc_options_dialog_t::handle_activate));
+ save_backup_box->connect_move_focus_up(signals::mem_fun(this, &misc_options_dialog_t::focus_previous));
+ save_backup_box->connect_move_focus_down(signals::mem_fun(this, &misc_options_dialog_t::focus_next));
+ save_backup_box->connect_activate(signals::mem_fun(this, &misc_options_dialog_t::handle_activate));
push_back(save_backup_box);
width = max(label->get_width() + 2 + 3, width);
@@ -248,17 +248,17 @@
cancel_button = new button_t("_Cancel");
cancel_button->set_anchor(this, T3_PARENT(T3_ANCHOR_BOTTOMRIGHT) | T3_CHILD(T3_ANCHOR_BOTTOMRIGHT));
cancel_button->set_position(-1, -2);
- cancel_button->connect_activate(sigc::mem_fun(this, &misc_options_dialog_t::close));
- cancel_button->connect_move_focus_up(sigc::mem_fun(this, &misc_options_dialog_t::focus_previous));
- cancel_button->connect_move_focus_up(sigc::mem_fun(this, &misc_options_dialog_t::focus_previous));
- cancel_button->connect_move_focus_left(sigc::mem_fun(this, &misc_options_dialog_t::focus_previous));
+ cancel_button->connect_activate(signals::mem_fun(this, &misc_options_dialog_t::close));
+ cancel_button->connect_move_focus_up(signals::mem_fun(this, &misc_options_dialog_t::focus_previous));
+ cancel_button->connect_move_focus_up(signals::mem_fun(this, &misc_options_dialog_t::focus_previous));
+ cancel_button->connect_move_focus_left(signals::mem_fun(this, &misc_options_dialog_t::focus_previous));
ok_button = new button_t("_Ok", true);
ok_button->set_anchor(cancel_button, T3_PARENT(T3_ANCHOR_TOPLEFT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
ok_button->set_position(0, -2);
- ok_button->connect_move_focus_up(sigc::mem_fun(this, &misc_options_dialog_t::focus_previous));
- ok_button->connect_move_focus_right(sigc::mem_fun(this, &misc_options_dialog_t::focus_next));
- ok_button->connect_activate(sigc::mem_fun(this, &misc_options_dialog_t::handle_activate));
+ ok_button->connect_move_focus_up(signals::mem_fun(this, &misc_options_dialog_t::focus_previous));
+ ok_button->connect_move_focus_right(signals::mem_fun(this, &misc_options_dialog_t::focus_next));
+ ok_button->connect_activate(signals::mem_fun(this, &misc_options_dialog_t::handle_activate));
push_back(ok_button);
push_back(cancel_button);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/dialogs/selectbufferdialog.cc new/tilde-0.3.7/src/dialogs/selectbufferdialog.cc
--- old/tilde-0.3.4/src/dialogs/selectbufferdialog.cc 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/dialogs/selectbufferdialog.cc 2016-02-23 08:20:17.000000000 +0100
@@ -22,21 +22,21 @@
list = new list_pane_t(true);
list->set_size(height - 3, width - 2);
list->set_position(1, 1);
- list->connect_activate(sigc::mem_fun(this, &select_buffer_dialog_t::ok_activated));
+ list->connect_activate(signals::mem_fun(this, &select_buffer_dialog_t::ok_activated));
cancel_button = new button_t("_Cancel", false);
cancel_button->set_anchor(this, T3_PARENT(T3_ANCHOR_BOTTOMRIGHT) | T3_CHILD(T3_ANCHOR_BOTTOMRIGHT));
cancel_button->set_position(-1, -2);
- cancel_button->connect_activate(sigc::mem_fun(this, &select_buffer_dialog_t::close));
- cancel_button->connect_move_focus_left(sigc::mem_fun(this, &select_buffer_dialog_t::focus_previous));
+ cancel_button->connect_activate(signals::mem_fun(this, &select_buffer_dialog_t::close));
+ cancel_button->connect_move_focus_left(signals::mem_fun(this, &select_buffer_dialog_t::focus_previous));
cancel_button->connect_move_focus_up(
- sigc::bind(sigc::mem_fun(this, &select_buffer_dialog_t::set_child_focus), list));
+ signals::bind(signals::mem_fun(this, &select_buffer_dialog_t::set_child_focus), list));
ok_button = new button_t("_OK", true);
ok_button->set_anchor(cancel_button, T3_PARENT(T3_ANCHOR_TOPLEFT) | T3_CHILD(T3_ANCHOR_TOPRIGHT));
ok_button->set_position(0, -2);
- ok_button->connect_activate(sigc::mem_fun(this, &select_buffer_dialog_t::ok_activated));
- cancel_button->connect_move_focus_right(sigc::mem_fun(this, &select_buffer_dialog_t::focus_next));
- cancel_button->connect_move_focus_up(sigc::mem_fun(this, &select_buffer_dialog_t::focus_previous));
+ ok_button->connect_activate(signals::mem_fun(this, &select_buffer_dialog_t::ok_activated));
+ cancel_button->connect_move_focus_right(signals::mem_fun(this, &select_buffer_dialog_t::focus_next));
+ cancel_button->connect_move_focus_up(signals::mem_fun(this, &select_buffer_dialog_t::focus_previous));
push_back(list);
push_back(ok_button);
@@ -79,7 +79,7 @@
multi_widget = new multi_widget_t();
multi_widget->set_size(None, width - 5);
multi_widget->show();
- bullet = new bullet_t(sigc::mem_fun((*iter), &file_buffer_t::get_has_window));
+ bullet = new bullet_t(signals::mem_fun((*iter), &file_buffer_t::get_has_window));
multi_widget->push_back(bullet, -1, true, false);
name = (*iter)->get_name();
if (name == NULL)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/filebuffer.cc new/tilde-0.3.7/src/filebuffer.cc
--- old/tilde-0.3.4/src/filebuffer.cc 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/filebuffer.cc 2016-02-23 08:20:17.000000000 +0100
@@ -50,7 +50,7 @@
name_line.set_text(&converted_name);
}
- connect_rewrap_required(sigc::mem_fun(this, &file_buffer_t::invalidate_highlight));
+ connect_rewrap_required(signals::mem_fun(this, &file_buffer_t::invalidate_highlight));
view_parameters->set_tabsize(option.tabsize);
view_parameters->set_wrap(option.wrap ? wrap_type_t::WORD : wrap_type_t::NONE);
@@ -71,6 +71,8 @@
rw_result_t file_buffer_t::load(load_process_t *state) {
const string *line;
t3_highlight_t *highlight = NULL;
+ t3_highlight_lang_t lang;
+ t3_bool success = t3_false;
int i;
if (state->file != this)
@@ -139,6 +141,8 @@
}
state->state = load_process_t::READING;
continue;
+ default:
+ break;
}
state->state = load_process_t::READING;
}
@@ -171,27 +175,29 @@
specified the language by hand, that is more likely to be correct than
any autodetection based on the first line or the file name.
*/
- for (i = 0; i < size() && i < 5 && highlight == NULL; i++) {
+ for (i = 0; i < size() && i < 5 && !success; i++) {
line = get_line_data(i)->get_data();
- highlight = t3_highlight_load_by_detect(line->data(), line->size(), false,
- map_highlight, NULL, T3_HIGHLIGHT_UTF8, NULL);
+ success = t3_highlight_detect(line->data(), line->size(), false, T3_HIGHLIGHT_UTF8, &lang, NULL);
}
- for (i = size() - 1; i >= 5 && highlight == NULL; i--) {
+ for (i = size() - 1; i >= 5 && !success; i--) {
line = get_line_data(i)->get_data();
- highlight = t3_highlight_load_by_detect(line->data(), line->size(), false,
- map_highlight, NULL, T3_HIGHLIGHT_UTF8, NULL);
+ success = t3_highlight_detect(line->data(), line->size(), false, T3_HIGHLIGHT_UTF8, &lang, NULL);
}
- if (highlight == NULL) {
+ if (!success) {
line = get_line_data(0)->get_data();
- highlight = t3_highlight_load_by_detect(line->data(), line->size(), true,
- map_highlight, NULL, T3_HIGHLIGHT_UTF8, NULL);
+ success = t3_highlight_detect(line->data(), line->size(), true, T3_HIGHLIGHT_UTF8, &lang, NULL);
}
- if (highlight == NULL) {
- highlight = t3_highlight_load_by_filename(name, map_highlight, NULL, T3_HIGHLIGHT_UTF8, NULL);
- last_match = t3_highlight_new_match(highlight);
+ if (!success) {
+ success = t3_highlight_lang_by_filename(name, T3_HIGHLIGHT_UTF8, &lang, NULL);
}
- if (highlight != NULL)
+ if (success) {
+ highlight = t3_highlight_load(lang.lang_file, map_highlight, NULL, T3_HIGHLIGHT_UTF8 | T3_HIGHLIGHT_USE_PATH, NULL);
set_highlight(highlight);
+ std::map<std::string, std::string>::iterator iter = option.line_comment_map.find(lang.name);
+ if (iter != option.line_comment_map.end())
+ set_line_comment(iter->second.c_str());
+ t3_highlight_free_lang(lang);
+ }
return rw_result_t(rw_result_t::SUCCESS);
}
@@ -657,3 +663,93 @@
return old_valid != matching_brace_valid || (old_valid && old_coordinate != matching_brace_coordinate);
}
+
+
+void file_buffer_t::set_line_comment(const char *text) {
+ if (text == NULL)
+ line_comment.clear();
+ else
+ line_comment = text;
+}
+
+int starts_with_comment(const std::string *text, const std::string *line_comment) {
+ size_t i;
+ for (i = 0; i < text->size(); i++) {
+ if (text->at(i) != ' ' && text->at(i) != '\t')
+ break;
+ }
+ if (text->compare(i, line_comment->size(), *line_comment) == 0)
+ return i;
+ return -1;
+}
+
+void file_buffer_t::toggle_line_comment() {
+ if (line_comment.empty())
+ return;
+
+ if (get_selection_mode() == selection_mode_t::NONE) {
+ const std::string *text = get_line_data(cursor.line)->get_data();
+ int comment_start = starts_with_comment(text, &line_comment);
+ if (comment_start >= 0) {
+ text_coordinate_t saved_cursor = cursor;
+ delete_block(text_coordinate_t(cursor.line, comment_start), text_coordinate_t(cursor.line, comment_start + line_comment.size()));
+ if (comment_start < saved_cursor.pos)
+ saved_cursor.pos -= std::min<int>(line_comment.size(), saved_cursor.pos - comment_start);
+ cursor.pos = saved_cursor.pos;
+ } else {
+ text_coordinate_t saved_cursor = cursor;
+ //FIXME: this causes the cursor position to be recorded incorrectly in the undo information.
+ // although one could argue this is to some extent better as it shows the actual edit.
+ cursor.pos = 0;
+ insert_block(&line_comment);
+ cursor.pos = saved_cursor.pos + line_comment.size();
+ }
+ } else {
+ text_coordinate_t selection_start = get_selection_start();
+ text_coordinate_t selection_end = get_selection_end();
+ int first_line = std::min(selection_start.line, selection_end.line);
+ int last_line = std::max(selection_start.line, selection_end.line);
+ int i;
+ for (i = first_line; i <= last_line; i++) {
+ const std::string *text = get_line_data(i)->get_data();
+ int comment_start = starts_with_comment(text, &line_comment);
+ if (comment_start < 0)
+ break;
+ }
+ selection_mode_t old_mode = get_selection_mode();
+ //FIXME: The code below contains some hideous hacks to make sure the cursor positioning
+ // for undos is as expected. Ideally we'd just call start_undo_block here.
+ if (i > last_line) {
+ for (i = first_line; i <= last_line; i++) {
+ const std::string *text = get_line_data(i)->get_data();
+ int comment_start = starts_with_comment(text, &line_comment);
+ if (i == selection_start.line && comment_start < selection_start.pos)
+ selection_start.pos -= std::min<int>(line_comment.size(), selection_start.pos - comment_start);
+ if (i == selection_end.line && comment_start < selection_end.pos)
+ selection_end.pos -= std::min<int>(line_comment.size(), selection_end.pos - comment_start);
+ if (i == first_line) {
+ cursor.line = i;
+ cursor.pos = comment_start + line_comment.size();
+ start_undo_block();
+ }
+ delete_block(text_coordinate_t(i, comment_start), text_coordinate_t(i, comment_start + line_comment.size()));
+ }
+ } else {
+ for (i = first_line; i <= last_line; i++) {
+ cursor.line = i;
+ cursor.pos = 0;
+ if (i == first_line)
+ start_undo_block();
+ insert_block(&line_comment);
+ }
+ selection_start.pos += line_comment.size();
+ selection_end.pos += line_comment.size();
+ }
+ end_undo_block();
+ set_selection_mode(selection_mode_t::NONE);
+ cursor = selection_start;
+ set_selection_mode(old_mode);
+ cursor = selection_end;
+ set_selection_end();
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/filebuffer.h new/tilde-0.3.7/src/filebuffer.h
--- old/tilde-0.3.4/src/filebuffer.h 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/filebuffer.h 2016-02-23 08:20:17.000000000 +0100
@@ -38,6 +38,7 @@
t3_highlight_match_t *last_match;
bool matching_brace_valid;
text_coordinate_t matching_brace_coordinate;
+ std::string line_comment;
private:
virtual void prepare_paint_line(int line);
@@ -72,6 +73,9 @@
@return A boolean indicating whether the matching brace information changed.
*/
bool update_matching_brace(void);
+
+ void set_line_comment(const char *text);
+ void toggle_line_comment();
};
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/fileeditwindow.cc new/tilde-0.3.7/src/fileeditwindow.cc
--- old/tilde-0.3.4/src/fileeditwindow.cc 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/fileeditwindow.cc 2016-02-23 08:20:17.000000000 +0100
@@ -20,7 +20,7 @@
_text = new file_buffer_t();
_text->set_has_window(true);
- rewrap_connection = _text->connect_rewrap_required(sigc::mem_fun(this, &file_edit_window_t::force_repaint_to_bottom));
+ rewrap_connection = _text->connect_rewrap_required(signals::mem_fun(this, &file_edit_window_t::force_repaint_to_bottom));
edit_window_t::set_text(_text, _text->get_view_parameters());
edit_window_t::set_autocompleter(new file_autocompleter_t());
@@ -71,7 +71,7 @@
save_view_parameters(old_text->view_parameters);
rewrap_connection.disconnect();
_text->set_has_window(true);
- rewrap_connection = _text->connect_rewrap_required(sigc::mem_fun(this, &file_edit_window_t::force_repaint_to_bottom));
+ rewrap_connection = _text->connect_rewrap_required(signals::mem_fun(this, &file_edit_window_t::force_repaint_to_bottom));
edit_window_t::set_text(_text, _text->get_view_parameters());
}
@@ -82,12 +82,21 @@
bool file_edit_window_t::process_key(t3_widget::key_t key) {
bool result = edit_window_t::process_key(key);
- if (!result && key == (EKEY_CTRL | ']')) {
- if (get_text()->goto_matching_brace()) {
- ensure_cursor_on_screen();
- redraw = true;
+ if (!result) {
+ switch (key) {
+ case EKEY_CTRL | ']':
+ if (get_text()->goto_matching_brace()) {
+ ensure_cursor_on_screen();
+ redraw = true;
+ }
+ return true;
+ case EKEY_CTRL | '_':
+ get_text()->toggle_line_comment();
+ redraw = true;
+ return true;
+ default:
+ break;
}
- return true;
}
return result;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/fileeditwindow.h new/tilde-0.3.7/src/fileeditwindow.h
--- old/tilde-0.3.4/src/fileeditwindow.h 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/fileeditwindow.h 2016-02-23 08:20:17.000000000 +0100
@@ -21,8 +21,9 @@
class file_edit_window_t : public edit_window_t {
private:
- sigc::connection rewrap_connection;
+ signals::connection rewrap_connection;
void force_repaint_to_bottom(rewrap_type_t type, int line, int pos);
+
public:
file_edit_window_t(file_buffer_t *_text = NULL);
virtual ~file_edit_window_t(void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/filestate.cc new/tilde-0.3.7/src/filestate.cc
--- old/tilde-0.3.4/src/filestate.cc 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/filestate.cc 2016-02-23 08:20:17.000000000 +0100
@@ -38,11 +38,11 @@
rw_result_t rw_result;
if (state == SELECT_FILE) {
- connections.push_back(open_file_dialog->connect_closed(sigc::mem_fun(this, &load_process_t::abort)));
- connections.push_back(open_file_dialog->connect_file_selected(sigc::mem_fun(this, &load_process_t::file_selected)));
+ connections.push_back(open_file_dialog->connect_file_selected(signals::mem_fun(this, &load_process_t::file_selected)));
+ connections.push_back(open_file_dialog->connect_closed(signals::mem_fun(this, &load_process_t::abort)));
open_file_dialog->reset();
open_file_dialog->show();
- connections.push_back(encoding_dialog->connect_activate(sigc::mem_fun(this, &load_process_t::encoding_selected)));
+ connections.push_back(encoding_dialog->connect_activate(signals::mem_fun(this, &load_process_t::encoding_selected)));
encoding_dialog->set_encoding(encoding.c_str());
return false;
}
@@ -75,15 +75,17 @@
break;
case rw_result_t::CONVERSION_IMPRECISE:
printf_into(&message, "Conversion from encoding %s is irreversible", file->get_encoding());
- connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &load_process_t::run), 0));
- connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &load_process_t::abort), 1));
+ connections.push_back(continue_abort_dialog->connect_activate(signals::mem_fun(this, &load_process_t::run), 0));
+ connections.push_back(continue_abort_dialog->connect_activate(signals::mem_fun(this, &load_process_t::abort), 1));
+ connections.push_back(continue_abort_dialog->connect_closed(signals::mem_fun(this, &load_process_t::abort)));
continue_abort_dialog->set_message(&message);
continue_abort_dialog->show();
return false;
case rw_result_t::CONVERSION_ILLEGAL:
printf_into(&message, "Conversion from encoding %s encountered illegal characters", file->get_encoding());
- connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &load_process_t::run), 0));
- connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &load_process_t::abort), 1));
+ connections.push_back(continue_abort_dialog->connect_activate(signals::mem_fun(this, &load_process_t::run), 0));
+ connections.push_back(continue_abort_dialog->connect_activate(signals::mem_fun(this, &load_process_t::abort), 1));
+ connections.push_back(continue_abort_dialog->connect_closed(signals::mem_fun(this, &load_process_t::abort)));
continue_abort_dialog->set_message(&message);
continue_abort_dialog->show();
return false;
@@ -94,8 +96,9 @@
error_dialog->show();
break;
case rw_result_t::BOM_FOUND:
- connections.push_back(preserve_bom_dialog->connect_activate(sigc::mem_fun(this, &load_process_t::preserve_bom), 0));
- connections.push_back(preserve_bom_dialog->connect_activate(sigc::mem_fun(this, &load_process_t::remove_bom), 1));
+ connections.push_back(preserve_bom_dialog->connect_activate(signals::mem_fun(this, &load_process_t::preserve_bom), 0));
+ connections.push_back(preserve_bom_dialog->connect_activate(signals::mem_fun(this, &load_process_t::remove_bom), 1));
+ connections.push_back(preserve_bom_dialog->connect_closed(signals::mem_fun(this, &load_process_t::preserve_bom)));
preserve_bom_dialog->show();
return false;
default:
@@ -155,8 +158,9 @@
(new load_process_t(cb, name, encoding, missing_ok))->run();
}
-save_as_process_t::save_as_process_t(const callback_t &cb, file_buffer_t *_file) : stepped_process_t(cb), state(SELECT_FILE),
- file(_file), save_name(NULL), real_name(NULL), temp_name(NULL), fd(-1), wrapper(NULL)
+save_as_process_t::save_as_process_t(const callback_t &cb, file_buffer_t *_file, bool _allow_highlight_change)
+ : stepped_process_t(cb), state(SELECT_FILE), file(_file), allow_highlight_change(_allow_highlight_change),
+ highlight_changed(false), save_name(NULL), real_name(NULL), temp_name(NULL), fd(-1), wrapper(NULL)
{}
bool save_as_process_t::step(void) {
@@ -166,12 +170,12 @@
if (state == SELECT_FILE) {
const char *current_name = file->get_name();
- connections.push_back(save_as_dialog->connect_closed(sigc::mem_fun(this, &save_as_process_t::abort)));
- connections.push_back(save_as_dialog->connect_file_selected(sigc::mem_fun(this, &save_as_process_t::file_selected)));
+ connections.push_back(save_as_dialog->connect_file_selected(signals::mem_fun(this, &save_as_process_t::file_selected)));
+ connections.push_back(save_as_dialog->connect_closed(signals::mem_fun(this, &save_as_process_t::abort)));
save_as_dialog->set_file(current_name);
save_as_dialog->show();
- connections.push_back(encoding_dialog->connect_activate(sigc::mem_fun(this, &save_as_process_t::encoding_selected)));
+ connections.push_back(encoding_dialog->connect_activate(signals::mem_fun(this, &save_as_process_t::encoding_selected)));
encoding_dialog->set_encoding(file->get_encoding());
return false;
}
@@ -183,15 +187,17 @@
break;
case rw_result_t::FILE_EXISTS:
printf_into(&message, "File '%s' already exists", name.c_str());
- connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &save_as_process_t::run), 0));
- connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &save_as_process_t::abort), 1));
+ connections.push_back(continue_abort_dialog->connect_activate(signals::mem_fun(this, &save_as_process_t::run), 0));
+ connections.push_back(continue_abort_dialog->connect_activate(signals::mem_fun(this, &save_as_process_t::abort), 1));
+ connections.push_back(continue_abort_dialog->connect_closed(signals::mem_fun(this, &save_as_process_t::abort)));
continue_abort_dialog->set_message(&message);
continue_abort_dialog->show();
return false;
case rw_result_t::FILE_EXISTS_READONLY:
printf_into(&message, "File '%s' is readonly", save_name);
- connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &save_as_process_t::run), 0));
- connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &save_as_process_t::abort), 1));
+ connections.push_back(continue_abort_dialog->connect_activate(signals::mem_fun(this, &save_as_process_t::run), 0));
+ connections.push_back(continue_abort_dialog->connect_activate(signals::mem_fun(this, &save_as_process_t::abort), 1));
+ connections.push_back(continue_abort_dialog->connect_closed(signals::mem_fun(this, &save_as_process_t::abort)));
continue_abort_dialog->set_message(&message);
continue_abort_dialog->show();
return false;
@@ -212,8 +218,9 @@
encoding = file->get_encoding();
i++;
printf_into(&message, "Conversion into encoding %s is irreversible", encoding.c_str());
- connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &save_as_process_t::run), 0));
- connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &save_as_process_t::abort), 1));
+ connections.push_back(continue_abort_dialog->connect_activate(signals::mem_fun(this, &save_as_process_t::run), 0));
+ connections.push_back(continue_abort_dialog->connect_activate(signals::mem_fun(this, &save_as_process_t::abort), 1));
+ connections.push_back(continue_abort_dialog->connect_closed(signals::mem_fun(this, &save_as_process_t::abort)));
continue_abort_dialog->set_message(&message);
continue_abort_dialog->show();
return false;
@@ -226,8 +233,10 @@
void save_as_process_t::file_selected(const std::string *_name) {
name = *_name;
state = INITIAL;
- if (file->get_highlight() == NULL && file->get_name() == NULL)
+ if (allow_highlight_change) {
+ highlight_changed = true;
file->set_highlight(t3_highlight_load_by_filename(name.c_str(), map_highlight, NULL, T3_HIGHLIGHT_UTF8, NULL));
+ }
run();
}
@@ -252,7 +261,11 @@
(new save_as_process_t(cb, _file))->run();
}
-save_process_t::save_process_t(const callback_t &cb, file_buffer_t *_file) : save_as_process_t(cb, _file) {
+bool save_as_process_t::get_highlight_changed() const {
+ return highlight_changed;
+}
+
+save_process_t::save_process_t(const callback_t &cb, file_buffer_t *_file) : save_as_process_t(cb, _file, false) {
if (file->get_name() != NULL)
state = INITIAL;
}
@@ -268,7 +281,6 @@
}
bool close_process_t::step(void) {
-
if (state < CONFIRM_CLOSE) {
if (save_process_t::step()) {
if (!result)
@@ -291,9 +303,10 @@
} else if (state == CONFIRM_CLOSE) {
string message;
printf_into(&message, "Save changes to '%s'", file->get_name() == NULL ? "(Untitled)" : file->get_name());
- connections.push_back(close_confirm_dialog->connect_activate(sigc::mem_fun(this, &close_process_t::do_save), 0));
- connections.push_back(close_confirm_dialog->connect_activate(sigc::mem_fun(this, &close_process_t::dont_save), 1));
- connections.push_back(close_confirm_dialog->connect_activate(sigc::mem_fun(this, &close_process_t::abort), 2));
+ connections.push_back(close_confirm_dialog->connect_activate(signals::mem_fun(this, &close_process_t::do_save), 0));
+ connections.push_back(close_confirm_dialog->connect_activate(signals::mem_fun(this, &close_process_t::dont_save), 1));
+ connections.push_back(close_confirm_dialog->connect_activate(signals::mem_fun(this, &close_process_t::abort), 2));
+ connections.push_back(close_confirm_dialog->connect_closed(signals::mem_fun(this, &close_process_t::abort)));
close_confirm_dialog->set_message(&message);
close_confirm_dialog->show();
} else {
@@ -327,9 +340,10 @@
if ((*iter)->is_modified()) {
string message;
printf_into(&message, "Save changes to '%s'", (*iter)->get_name() == NULL ? "(Untitled)" : (*iter)->get_name());
- connections.push_back(close_confirm_dialog->connect_activate(sigc::mem_fun(this, &exit_process_t::do_save), 0));
- connections.push_back(close_confirm_dialog->connect_activate(sigc::mem_fun(this, &exit_process_t::dont_save), 1));
- connections.push_back(close_confirm_dialog->connect_activate(sigc::mem_fun(this, &exit_process_t::abort), 2));
+ connections.push_back(close_confirm_dialog->connect_activate(signals::mem_fun(this, &exit_process_t::do_save), 0));
+ connections.push_back(close_confirm_dialog->connect_activate(signals::mem_fun(this, &exit_process_t::dont_save), 1));
+ connections.push_back(close_confirm_dialog->connect_activate(signals::mem_fun(this, &exit_process_t::abort), 2));
+ connections.push_back(close_confirm_dialog->connect_closed(signals::mem_fun(this, &exit_process_t::abort)));
close_confirm_dialog->set_message(&message);
close_confirm_dialog->show();
return false;
@@ -342,7 +356,7 @@
}
void exit_process_t::do_save(void) {
- save_process_t::execute(sigc::mem_fun(this, &exit_process_t::save_done), *iter);
+ save_process_t::execute(signals::mem_fun(this, &exit_process_t::save_done), *iter);
}
void exit_process_t::dont_save(void) {
@@ -367,9 +381,9 @@
bool open_recent_process_t::step(void) {
if (state == SELECT_FILE) {
- connections.push_back(open_recent_dialog->connect_file_selected(sigc::mem_fun(this,
+ connections.push_back(open_recent_dialog->connect_file_selected(signals::mem_fun(this,
&open_recent_process_t::recent_file_selected)));
- connections.push_back(open_recent_dialog->connect_closed(sigc::mem_fun(this, &open_recent_process_t::abort)));
+ connections.push_back(open_recent_dialog->connect_closed(signals::mem_fun(this, &open_recent_process_t::abort)));
open_recent_dialog->show();
return false;
}
@@ -402,8 +416,8 @@
if (cli_option.encoding.is_valid()) {
if (cli_option.encoding == NULL) {
encoding_dialog->set_encoding("UTF-8");
- encoding_dialog->connect_activate(sigc::mem_fun(this, &load_cli_file_process_t::encoding_selection_done));
- encoding_dialog->connect_closed(sigc::mem_fun(this, &load_cli_file_process_t::run));
+ encoding_dialog->connect_activate(signals::mem_fun(this, &load_cli_file_process_t::encoding_selection_done));
+ encoding_dialog->connect_closed(signals::mem_fun(this, &load_cli_file_process_t::run));
encoding_dialog->show();
return false;
} else {
@@ -415,7 +429,7 @@
in_step = true;
while (iter != cli_option.files.end()) {
in_load = true;
- load_process_t::execute(sigc::mem_fun(this, &load_cli_file_process_t::load_done), *iter, encoding, true);
+ load_process_t::execute(signals::mem_fun(this, &load_cli_file_process_t::load_done), *iter, encoding, true);
if (in_load) {
in_step = false;
return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/filestate.h new/tilde-0.3.7/src/filestate.h
--- old/tilde-0.3.4/src/filestate.h 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/filestate.h 2016-02-23 08:20:17.000000000 +0100
@@ -16,7 +16,7 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <transcript/transcript.h>
-#include <sigc++/sigc++.h>
+#include <t3widget/signals.h>
#include <t3widget/widget.h>
#include "util.h"
@@ -115,6 +115,8 @@
file_buffer_t *file;
std::string name;
std::string encoding;
+ bool allow_highlight_change;
+ bool highlight_changed;
// State for save file_buffer_t::save function
const char *save_name;
@@ -125,7 +127,7 @@
file_write_wrapper_t *wrapper;
struct stat file_info;
- save_as_process_t(const callback_t &cb, file_buffer_t *_file);
+ save_as_process_t(const callback_t &cb, file_buffer_t *_file, bool _allow_highlight_change = true);
virtual bool step(void);
virtual void file_selected(const std::string *_name);
virtual void encoding_selected(const std::string *_encoding);
@@ -133,6 +135,8 @@
public:
static void execute(const callback_t &cb, file_buffer_t *_file);
+
+ bool get_highlight_changed() const;
};
class save_process_t : public save_as_process_t {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/main.cc new/tilde-0.3.7/src/main.cc
--- old/tilde-0.3.4/src/main.cc 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/main.cc 2016-02-23 08:20:17.000000000 +0100
@@ -84,7 +84,7 @@
void set_default_options(void);
void set_interface_options(void);
void set_misc_options(void);
- void set_highlight(t3_highlight_t *highlight);
+ void set_highlight(t3_highlight_t *highlight, const char *name);
void save_as_done(stepped_process_t *process);
};
@@ -98,7 +98,7 @@
menu = new menu_bar_t(option.hide_menubar);
menu->set_size(None, t3_win_get_width(window));
push_back(menu);
- menu->connect_activate(sigc::mem_fun(this, &main_t::menu_activated));
+ menu->connect_activate(signals::mem_fun(this, &main_t::menu_activated));
panel = new menu_panel_t("_File", menu);
panel->add_item("_New", "^N", action_id_t::FILE_NEW);
@@ -153,6 +153,7 @@
panel->add_item("_Highlighting...", NULL, action_id_t::TOOLS_HIGHLIGHTING);
panel->add_item("_Strip trailing spaces", NULL, action_id_t::TOOLS_STRIP_SPACES);
panel->add_item("_Autocomplete", "C-Space", action_id_t::TOOLS_AUTOCOMPLETE);
+ panel->add_item("_Toggle line comment", "C-/", action_id_t::TOOLS_TOGGLE_LINE_COMMENT);
panel = new menu_panel_t("_Options", menu);
panel->add_item("Input _Handling...", NULL, action_id_t::OPTIONS_INPUT);
@@ -175,7 +176,7 @@
select_buffer_dialog = new select_buffer_dialog_t(11, t3_win_get_width(window) - 4);
select_buffer_dialog->center_over(this);
- select_buffer_dialog->connect_activate(sigc::mem_fun(this, &main_t::switch_buffer));
+ select_buffer_dialog->connect_activate(signals::mem_fun(this, &main_t::switch_buffer));
continue_abort_dialog = new message_dialog_t(MESSAGE_DIALOG_WIDTH, "Question", "_Continue", "_Abort", NULL);
continue_abort_dialog->center_over(this);
@@ -187,13 +188,13 @@
open_file_dialog->center_over(this);
open_file_dialog->set_file(NULL);
encoding_button = new button_t("_Encoding");
- encoding_button->connect_activate(sigc::mem_fun(encoding_dialog, &encoding_dialog_t::show));
+ encoding_button->connect_activate(signals::mem_fun(encoding_dialog, &encoding_dialog_t::show));
open_file_dialog->set_options_widget(encoding_button);
save_as_dialog = new save_as_dialog_t(t3_win_get_height(window) - 4, t3_win_get_width(window) - 4);
save_as_dialog->center_over(this);
encoding_button = new button_t("_Encoding");
- encoding_button->connect_activate(sigc::mem_fun(encoding_dialog, &encoding_dialog_t::show));
+ encoding_button->connect_activate(signals::mem_fun(encoding_dialog, &encoding_dialog_t::show));
save_as_dialog->set_options_widget(encoding_button);
close_confirm_dialog = new message_dialog_t(MESSAGE_DIALOG_WIDTH, "Confirm", "_Yes", "_No", "_Cancel", NULL);
@@ -208,26 +209,26 @@
about_dialog = new message_dialog_t(45, "About", "Close", NULL);
about_dialog->center_over(this);
about_dialog->set_max_text_height(13);
- about_dialog->set_message("Tilde - The intuitive text editor\n\nVersion 0.3.4\nCopyright (c) 2011-2012 G.P. Halkes\n\n" // @copyright
+ about_dialog->set_message("Tilde - The intuitive text editor\n\nVersion 0.3.7\nCopyright (c) 2011-2012 G.P. Halkes\n\n" // @copyright
"The Tilde text editor is licensed under the GNU General Public License version 3. "
"You should have received a copy of the GNU General Public License along with this program. "
"If not, see <http://www.gnu.org/licenses/>.");
buffer_options_dialog = new buffer_options_dialog_t("Current Buffer");
buffer_options_dialog->center_over(this);
- buffer_options_dialog->connect_activate(sigc::mem_fun(this, &main_t::set_buffer_options));
+ buffer_options_dialog->connect_activate(signals::mem_fun(this, &main_t::set_buffer_options));
default_options_dialog = new buffer_options_dialog_t("Buffer Defaults");
default_options_dialog->center_over(this);
- default_options_dialog->connect_activate(sigc::mem_fun(this, &main_t::set_default_options));
+ default_options_dialog->connect_activate(signals::mem_fun(this, &main_t::set_default_options));
misc_options_dialog = new misc_options_dialog_t("Miscellaneous");
misc_options_dialog->center_over(this);
- misc_options_dialog->connect_activate(sigc::mem_fun(this, &main_t::set_misc_options));
+ misc_options_dialog->connect_activate(signals::mem_fun(this, &main_t::set_misc_options));
highlight_dialog = new highlight_dialog_t(t3_win_get_height(window) - 4, 40);
highlight_dialog->center_over(this);
- highlight_dialog->connect_language_selected(sigc::mem_fun(this, &main_t::set_highlight));
+ highlight_dialog->connect_language_selected(signals::mem_fun(this, &main_t::set_highlight));
preserve_bom_dialog = new message_dialog_t(MESSAGE_DIALOG_WIDTH, "Question", "_Yes", "_No", NULL);
preserve_bom_dialog->set_message("The file starts with a Byte Order Mark (BOM). "
@@ -237,7 +238,7 @@
attributes_dialog = new attributes_dialog_t(ATTRIBUTES_DIALOG_WIDTH);
attributes_dialog->center_over(this);
- attributes_dialog->connect_activate(sigc::mem_fun(this, &main_t::set_interface_options));
+ attributes_dialog->connect_activate(signals::mem_fun(this, &main_t::set_interface_options));
}
main_t::~main_t(void) {
@@ -318,21 +319,21 @@
// Because set_file also selects the named file if possible, we need to reset the dialog
open_file_dialog->reset();
}
- load_process_t::execute(sigc::mem_fun(this, &main_t::switch_to_new_buffer));
+ load_process_t::execute(signals::mem_fun(this, &main_t::switch_to_new_buffer));
break;
}
case action_id_t::FILE_CLOSE:
- close_process_t::execute(sigc::mem_fun(this, &main_t::close_cb), get_current()->get_text());
+ close_process_t::execute(signals::mem_fun(this, &main_t::close_cb), get_current()->get_text());
break;
case action_id_t::FILE_SAVE:
- save_process_t::execute(sigc::mem_fun(this, &main_t::save_as_done), get_current()->get_text());
+ save_process_t::execute(signals::mem_fun(this, &main_t::save_as_done), get_current()->get_text());
break;
case action_id_t::FILE_SAVE_AS:
- save_as_process_t::execute(sigc::mem_fun(this, &main_t::save_as_done), get_current()->get_text());
+ save_as_process_t::execute(signals::mem_fun(this, &main_t::save_as_done), get_current()->get_text());
break;
case action_id_t::FILE_OPEN_RECENT:
- open_recent_process_t::execute(sigc::mem_fun(this, &main_t::switch_to_new_buffer));
+ open_recent_process_t::execute(signals::mem_fun(this, &main_t::switch_to_new_buffer));
break;
case action_id_t::FILE_REPAINT:
t3_widget::redraw();
@@ -342,7 +343,7 @@
break;
case action_id_t::FILE_EXIT:
- exit_process_t::execute(sigc::ptr_fun(stepped_process_t::ignore_result));
+ exit_process_t::execute(signals::ptr_fun(stepped_process_t::ignore_result));
break;
case action_id_t::EDIT_UNDO:
@@ -443,6 +444,9 @@
case action_id_t::TOOLS_AUTOCOMPLETE:
get_current()->autocomplete();
break;
+ case action_id_t::TOOLS_TOGGLE_LINE_COMMENT:
+ get_current()->get_text()->toggle_line_comment();
+ break;
case action_id_t::OPTIONS_INPUT:
configure_input(false);
@@ -541,14 +545,24 @@
write_config();
}
-void main_t::set_highlight(t3_highlight_t *highlight) {
+void main_t::set_highlight(t3_highlight_t *highlight, const char *name) {
get_current()->get_text()->set_highlight(highlight);
+ if (name == NULL) {
+ get_current()->get_text()->set_line_comment(NULL);
+ } else {
+ std::map<std::string, std::string>::iterator iter = option.line_comment_map.find(name);
+ if (iter == option.line_comment_map.end())
+ get_current()->get_text()->set_line_comment(NULL);
+ else
+ get_current()->get_text()->set_line_comment(iter->second.c_str());
+ }
get_current()->force_redraw();
}
void main_t::save_as_done(stepped_process_t *process) {
- (void) process;
get_current()->draw_info_window();
+ if (reinterpret_cast<save_as_process_t *>(process)->get_highlight_changed())
+ get_current()->force_redraw();
}
static void configure_input(bool cancel_selects_default) {
@@ -563,8 +577,8 @@
is_height = min(max(height - 3, 15), 3200 / is_width);
input_selection = new input_selection_dialog_t(is_height, is_width);
- input_selection->connect_activate(sigc::bind(sigc::ptr_fun(input_selection_complete), true));
- input_selection->connect_closed(sigc::bind(sigc::ptr_fun(input_selection_complete), cancel_selects_default));
+ input_selection->connect_activate(signals::bind(signals::ptr_fun(input_selection_complete), true));
+ input_selection->connect_closed(signals::bind(signals::ptr_fun(input_selection_complete), cancel_selects_default));
input_selection->center_over(main_window);
input_selection->show();
input_selection_dialog = input_selection;
@@ -685,6 +699,36 @@
free(name);
}
+static void terminate_handler(int sig) {
+ lprintf("received signal %d\n", sig);
+ t3_widget::async_safe_exit_main_loop(sig + 128);
+}
+
+static void setup_term_signal_handler(int sig) {
+ struct sigaction sa;
+ sa.sa_handler = ::terminate_handler;
+ sigemptyset(&sa.sa_mask);
+ sigaddset(&sa.sa_mask, sig);
+ sa.sa_flags = SA_RESETHAND;
+ sigaction(sig, &sa, NULL) ;
+}
+
+static void setup_ign_signal_handler(int sig) {
+ struct sigaction sa;
+ sa.sa_handler = SIG_IGN;
+ sigemptyset(&sa.sa_mask);
+ sigaddset(&sa.sa_mask, sig);
+ sa.sa_flags = 0;
+ sigaction(sig, &sa, NULL) ;
+}
+
+static void setup_signal_handlers() {
+ setup_term_signal_handler(SIGHUP);
+ setup_term_signal_handler(SIGTERM);
+ setup_ign_signal_handler(SIGUSR1);
+ setup_ign_signal_handler(SIGUSR2);
+}
+
int main(int argc, char *argv[]) {
complex_error_t result;
init_parameters_t *params = init_parameters_t::create();
@@ -720,7 +764,7 @@
delete params;
- connect_update_notification(sigc::ptr_fun(sync_updates));
+ connect_update_notification(signals::ptr_fun(sync_updates));
init_charsets();
main_window = new main_t();
@@ -772,15 +816,16 @@
"- must press escape twice to close a menu or dialog\n\n"
"You can change the input handling by selecting the \"Options\" menu "
"and choosing \"Input Handling\", or by choosing \"Configure\" below.");
- input_message->connect_activate(sigc::bind(sigc::ptr_fun(input_selection_complete), true), 0);
- input_message->connect_activate(sigc::bind(sigc::ptr_fun(configure_input), true), 1);
- input_message->connect_closed(sigc::bind(sigc::ptr_fun(input_selection_complete), true));
+ input_message->connect_activate(signals::bind(signals::ptr_fun(input_selection_complete), true), 0);
+ input_message->connect_activate(signals::bind(signals::ptr_fun(configure_input), true), 1);
+ input_message->connect_closed(signals::bind(signals::ptr_fun(input_selection_complete), true));
input_message->center_over(main_window);
input_message->show();
input_selection_dialog = input_message;
}
- load_cli_file_process_t::execute(sigc::mem_fun(main_window, &main_t::load_cli_files_done));
+ load_cli_file_process_t::execute(signals::mem_fun(main_window, &main_t::load_cli_files_done));
+ setup_signal_handlers();
int retval = main_loop();
#ifdef TILDE_DEBUG
delete continue_abort_dialog;
@@ -801,5 +846,8 @@
unlink(runfile_name);
free(runfile_name);
}
+ if (retval > 128) {
+ fprintf(stderr, "Killed by signal %d\n", retval - 128);
+ }
return retval;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/option.cc new/tilde-0.3.7/src/option.cc
--- old/tilde-0.3.4/src/option.cc 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/option.cc 2016-02-23 08:20:17.000000000 +0100
@@ -76,6 +76,10 @@
#include "config.bytes"
};
+static const char base_config_schema[] = {
+#include "config.bytes"
+};
+
static t3_bool find_term_config(const t3_config_t *config, const void *data) {
if (t3_config_get_type(config) != T3_CONFIG_SECTION)
return t3_false;
@@ -95,7 +99,7 @@
if (strncmp(attr, "fg ", 3) == 0)
foreground = true;
- else if (strncmp(attr, "bg", 3) == 0)
+ else if (strncmp(attr, "bg ", 3) == 0)
foreground = false;
else
return 0;
@@ -180,6 +184,40 @@
}
}
+static void read_base_config(void) {
+ cleanup_func2_ptr<FILE, int, fclose>::t config_file;
+ t3_config_error_t error;
+ cleanup_func_ptr<t3_config_t, t3_config_delete>::t config;
+ cleanup_func_ptr<t3_config_schema_t, t3_config_delete_schema>::t schema;
+
+ if ((config_file = fopen(DATADIR "/" "base.config", "r")) == NULL) {
+ lprintf("Failed to open file: %s %m\n", DATADIR "/" "base.config");
+ return;
+ }
+
+ if ((config = t3_config_read_file(config_file, &error, NULL)) == NULL) {
+ lprintf("Error loading base config: %d: %s\n", error.line_number, t3_config_strerror(error.error));
+ return;
+ }
+
+ if ((schema = t3_config_read_schema_buffer(base_config_schema, sizeof(base_config_schema), &error, NULL)) == NULL) {
+ lprintf("Error loading schema: %d: %s\n", error.line_number, t3_config_strerror(error.error));
+ return;
+ }
+
+ if (!t3_config_validate(config, schema, &error, 0)) {
+ lprintf("Error validating base config: %d: %s\n", error.line_number, t3_config_strerror(error.error));
+ return;
+ }
+
+ for (t3_config_t *lang = t3_config_get(t3_config_get(config, "lang"), NULL); lang != NULL; lang = t3_config_get_next(lang)) {
+ const char *name = t3_config_get_string(t3_config_get(lang, "name"));
+ const char *line_comment = t3_config_get_string(t3_config_get(lang, "line_comment"));
+ if (name != NULL && line_comment != NULL)
+ option.line_comment_map[std::string(name)] = line_comment;
+ }
+}
+
static void read_config(void) {
cleanup_func2_ptr<FILE, int, fclose>::t config_file;
t3_config_error_t error;
@@ -218,10 +256,6 @@
return;
}
- /* Note: when supporting later versions, read the config_version key here.
- t3_config_get_int(t3_config_get(config, "config_version"))
- */
-
if (!t3_config_validate(config, schema, &error, 0)) {
config_read_error = true;
config_read_error_string = t3_config_strerror(error.error);
@@ -245,6 +279,13 @@
GET_OPT(max_recent_files, INT, int);
#undef opts
+ for (t3_config_t *lang = t3_config_get(t3_config_get(config, "lang"), NULL); lang != NULL; lang = t3_config_get_next(lang)) {
+ const char *name = t3_config_get_string(t3_config_get(lang, "name"));
+ const char *line_comment = t3_config_get_string(t3_config_get(lang, "line_comment"));
+ if (name != NULL && line_comment != NULL)
+ option.line_comment_map[std::string(name)] = line_comment;
+ }
+
if ((term_specific_config = t3_config_get(config, "terminals")) == NULL)
return;
@@ -331,7 +372,7 @@
}
static void print_version(void) {
- printf("Tilde version 0.3.4\n"
+ printf("Tilde version 0.3.7\n"
"Copyright (c) 2011-2012 G.P. Halkes\n" // @copyright
"Tilde is licensed under the GNU General Public License version 3\n");
printf("Library versions:\n"
@@ -400,7 +441,11 @@
cli_option.files.push_back(optcurrent);
END_OPTIONS
+ read_base_config();
read_config();
+/* for (const auto &lc : option.line_comment_map) {
+ printf("Line comment config: %s: %s\n", lc.first.c_str(), lc.second.c_str());
+ }*/
post_process_options();
END_FUNCTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/option.h new/tilde-0.3.7/src/option.h
--- old/tilde-0.3.4/src/option.h 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/option.h 2016-02-23 08:20:17.000000000 +0100
@@ -16,6 +16,8 @@
#include <cstdlib>
#include <list>
+#include <map>
+#include <string>
#include <t3window/window.h>
#include "util.h"
@@ -111,6 +113,8 @@
optional<int> key_timeout;
t3_attr_t highlights[MAX_HIGHLIGHTS];
t3_attr_t brace_highlight;
+
+ std::map<std::string, std::string> line_comment_map;
};
enum attribute_key_t {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/util.cc new/tilde-0.3.7/src/util.cc
--- old/tilde-0.3.4/src/util.cc 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/util.cc 2016-02-23 08:20:17.000000000 +0100
@@ -55,7 +55,7 @@
void stepped_process_t::abort(void) { done(false); }
void stepped_process_t::disconnect(void) {
- for (list<sigc::connection>::iterator iter = connections.begin();
+ for (list<signals::connection>::iterator iter = connections.begin();
iter != connections.end(); iter++)
(*iter).disconnect();
connections.clear();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/tilde-0.3.4/src/util.h new/tilde-0.3.7/src/util.h
--- old/tilde-0.3.4/src/util.h 2015-02-12 08:14:40.000000000 +0100
+++ new/tilde-0.3.7/src/util.h 2016-02-23 08:20:17.000000000 +0100
@@ -17,7 +17,7 @@
#include <limits.h>
#include <string>
#include <list>
-#include <sigc++/sigc++.h>
+#include <t3widget/signals.h>
#include <t3window/window.h>
#ifdef __GNUC__
@@ -72,8 +72,8 @@
class stepped_process_t {
protected:
- std::list<sigc::connection> connections;
- typedef sigc::slot<void, stepped_process_t *> callback_t;
+ std::list<t3_widget::signals::connection> connections;
+ typedef t3_widget::signals::slot<void, stepped_process_t *> callback_t;
callback_t done_cb;
bool result;
1
0
Hello community,
here is the log from the commit of package libt3widget for openSUSE:Factory checked in at 2017-08-24 18:47:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libt3widget (Old)
and /work/SRC/openSUSE:Factory/.libt3widget.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libt3widget"
Thu Aug 24 18:47:35 2017 rev:7 rq:515078 version:0.5.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/libt3widget/libt3widget.changes 2015-02-20 12:01:49.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libt3widget.new/libt3widget.changes 2017-08-24 18:47:52.987571056 +0200
@@ -1,0 +2,7 @@
+Mon Aug 7 19:07:50 UTC 2017 - jengelh(a)inai.de
+
+- Update to new upstream release 0.5.2
+ * Added an extra function for thread-safe termination of the main
+ loop.
+
+-------------------------------------------------------------------
Old:
----
libt3widget-0.4.7.tar.bz2
New:
----
libt3widget-0.5.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libt3widget.spec ++++++
--- /var/tmp/diff_new_pack.LhRO0V/_old 2017-08-24 18:47:55.363236554 +0200
+++ /var/tmp/diff_new_pack.LhRO0V/_new 2017-08-24 18:47:55.363236554 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libt3widget
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
Name: libt3widget
%define lname libt3widget1
-Version: 0.4.7
+Version: 0.5.2
Release: 0
Summary: The Tilde terminal dialog toolkit
License: GPL-3.0
@@ -29,6 +29,7 @@
Source: http://os.ghalkes.nl/dist/%name-%version.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: c++_compiler
+BuildRequires: fdupes
BuildRequires: gettext-tools
BuildRequires: gpm-devel
BuildRequires: libtool
@@ -38,12 +39,8 @@
BuildRequires: pkgconfig(libt3key) >= 0.2.0
BuildRequires: pkgconfig(libt3window) >= 0.2.1
BuildRequires: pkgconfig(libtranscript) >= 0.2.2
-BuildRequires: pkgconfig(sigc++-2.0)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcb)
-%if 0%{?suse_version}
-BuildRequires: fdupes
-%endif
%description
The libt3widget library provides a C++ dialog toolkit. It provides
++++++ libt3widget-0.4.7.tar.bz2 -> libt3widget-0.5.2.tar.bz2 ++++++
++++ 31110 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package libt3highlight for openSUSE:Factory checked in at 2017-08-24 18:47:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libt3highlight (Old)
and /work/SRC/openSUSE:Factory/.libt3highlight.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libt3highlight"
Thu Aug 24 18:47:32 2017 rev:7 rq:515077 version:0.4.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/libt3highlight/libt3highlight.changes 2015-02-20 12:01:46.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libt3highlight.new/libt3highlight.changes 2017-08-24 18:47:42.745013241 +0200
@@ -1,0 +2,10 @@
+Mon Aug 7 19:03:06 UTC 2017 - jengelh(a)inai.de
+
+- Update to new upstream release 0.4.2
+ * This release contains several changes to the interface for
+ detecting languages, which make it possible to retrieve more
+ information about the detected language. Basic highlighting for
+ PHP was added, and the HTML highlighting had several small
+ fixes.
+
+-------------------------------------------------------------------
Old:
----
libt3highlight-0.3.5.tar.bz2
New:
----
libt3highlight-0.4.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libt3highlight.spec ++++++
--- /var/tmp/diff_new_pack.N0WPoP/_old 2017-08-24 18:47:45.336648330 +0200
+++ /var/tmp/diff_new_pack.N0WPoP/_new 2017-08-24 18:47:45.348646641 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libt3highlight
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,8 +17,8 @@
Name: libt3highlight
-%define lname libt3highlight1
-Version: 0.3.5
+%define lname libt3highlight2
+Version: 0.4.2
Release: 0
Summary: The Tilde Toolkit's syntax highlighting library
License: GPL-3.0
@@ -92,7 +92,7 @@
%files -n %lname
%defattr(-,root,root)
-%_libdir/libt3highlight.so.1*
+%_libdir/libt3highlight.so.2*
%doc COPYING
%_datadir/%lname/
++++++ libt3highlight-0.3.5.tar.bz2 -> libt3highlight-0.4.2.tar.bz2 ++++++
++++ 2767 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package lua-lgi for openSUSE:Factory checked in at 2017-08-24 18:47:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lua-lgi (Old)
and /work/SRC/openSUSE:Factory/.lua-lgi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lua-lgi"
Thu Aug 24 18:47:29 2017 rev:5 rq:515023 version:0.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/lua-lgi/lua-lgi.changes 2016-05-30 09:58:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lua-lgi.new/lua-lgi.changes 2017-08-24 18:47:35.698005482 +0200
@@ -1,0 +2,10 @@
+Mon Aug 7 11:18:02 UTC 2017 - jengelh(a)inai.de
+
+- RPM group corrections
+
+-------------------------------------------------------------------
+Thu Jul 13 15:18:14 UTC 2017 - tchvatal(a)suse.com
+
+- Switch to mutlibuild in order to compile all flavors as needed
+
+-------------------------------------------------------------------
New:
----
_multibuild
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lua-lgi.spec ++++++
--- /var/tmp/diff_new_pack.mobnxS/_old 2017-08-24 18:47:37.005821337 +0200
+++ /var/tmp/diff_new_pack.mobnxS/_new 2017-08-24 18:47:37.009820774 +0200
@@ -1,7 +1,7 @@
#
# spec file for package lua-lgi
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2012 Adam Mizerski <adam(a)mizerski.pl>
#
# All modifications and additions to the file contributed by third parties
@@ -17,26 +17,30 @@
#
-%define _name lgi
-Name: lua-lgi
+%define flavor @BUILD_FLAVOR@
+%define mod_name lgi
Version: 0.9.1
Release: 0
Summary: Lua bindings to GObject libraries
License: MIT
-Group: System/Libraries
+Group: Development/Languages/Other
Url: https://github.com/pavouk/lgi
-Source0: https://github.com/pavouk/%{_name}/archive/%{version}.tar.gz#/%{_name}-%{ve…
-BuildRequires: pkg-config
+Source0: https://github.com/pavouk/%{mod_name}/archive/%{version}.tar.gz#/%{mod_name…
+BuildRequires: %{flavor}-devel
+BuildRequires: pkgconfig
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.10.8
BuildRequires: pkgconfig(libffi)
-BuildRequires: pkgconfig(lua)
-%if 0%{?suse_version} > 1320
-# Lua in openSUSE 13.2, Leap 42.x and SLE 12 does not yet provide
-# Lua(API), and as such we can only depend on it in Tumbleweed,
-# we need the 'branch' of lua this package was built against
-# (lua_version nicely provides this info).
-Requires: Lua(API) = %{lua_version}
+Requires: %{flavor}
+%if "%{flavor}" == "lua53"
+Provides: lua-%{mod_name} = %{version}
+Obsoletes: lua-%{mod_name} < %{version}
+%endif
+%if "%{flavor}" == ""
+Name: lua-%{mod_name}
+ExclusiveArch: do_not_build
+%else
+Name: %{flavor}-%{mod_name}
%endif
%description
@@ -46,8 +50,7 @@
%package doc
Summary: Lua bindings to GObject libraries - documentation and samples
-Group: Development/Libraries/Other
-Requires: %{name} = %{version}
+Group: Documentation/Other
%description doc
Dynamic Lua binding to any library which is introspectable
@@ -55,10 +58,11 @@
directly from Lua.
%prep
-%setup -q -n %{_name}-%{version}
+%setup -q -n %{mod_name}-%{version}
%build
make %{?_smp_mflags} \
+ LUA_CFLAGS=" -I%{lua_incdir}" \
COPTFLAGS="%{optflags}" \
%install
@@ -68,14 +72,12 @@
LUA_SHAREDIR=%{lua_noarchdir}
%files
-%defattr(-,root,root)
%doc LICENSE README.md
-%{lua_archdir}/%{_name}/
-%{lua_noarchdir}/%{_name}.lua
-%{lua_noarchdir}/%{_name}/
+%{lua_archdir}/%{mod_name}/
+%{lua_noarchdir}/%{mod_name}.lua
+%{lua_noarchdir}/%{mod_name}/
%files doc
-%defattr(-,root,root)
%doc docs samples tools
%changelog
++++++ _multibuild ++++++
<multibuild>
<package>lua51</package>
<package>lua52</package>
<package>lua53</package>
</multibuild>
1
0