openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
October 2017
- 1 participants
- 1963 discussions
Hello community,
here is the log from the commit of package wxMaxima for openSUSE:Factory checked in at 2017-10-28 14:22:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wxMaxima (Old)
and /work/SRC/openSUSE:Factory/.wxMaxima.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wxMaxima"
Sat Oct 28 14:22:08 2017 rev:25 rq:537036 version:17.10.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/wxMaxima/wxMaxima.changes 2017-10-13 14:20:40.292135846 +0200
+++ /work/SRC/openSUSE:Factory/.wxMaxima.new/wxMaxima.changes 2017-10-28 14:22:19.942130598 +0200
@@ -1,0 +2,10 @@
+Thu Oct 26 12:19:42 UTC 2017 - badshah400(a)gmail.com
+
+- Update to version 17.10.1
+ + No list of changes from upstream.
+- Drop wxMaxima-fix-tooltip-comparison.patch: incorporated into
+ upstream sources.
+- Appdata is now installed to %{_datadir}/metainfo, adapt file
+ list accordingly. Own parent dir to avoid ownership issues.
+
+-------------------------------------------------------------------
Old:
----
Version-17.10.0.tar.gz
wxMaxima-fix-tooltip-comparison.patch
New:
----
Version-17.10.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wxMaxima.spec ++++++
--- /var/tmp/diff_new_pack.GhrYw3/_old 2017-10-28 14:22:20.846097551 +0200
+++ /var/tmp/diff_new_pack.GhrYw3/_new 2017-10-28 14:22:20.846097551 +0200
@@ -18,7 +18,7 @@
%define tarname wxmaxima
Name: wxMaxima
-Version: 17.10.0
+Version: 17.10.1
Release: 0
Summary: Graphical User Interface for the maxima Computer Algebra System
License: GPL-2.0+
@@ -27,8 +27,6 @@
Source0: https://github.com/andrejv/wxmaxima/archive/Version-%{version}.tar.gz
Source1: wxMaxima.desktop
Source2: %{name}-rpmlintrc
-# PATCH-FIX-UPSTREAM wxMaxima-fix-tooltip-comparison.patch gh#andrejv/wxmaxima#929 badshah400(a)gmail.com -- Patch from upstream that fixes building by using the correct comparisn operations involving `tooltip`
-Patch0: wxMaxima-fix-tooltip-comparison.patch
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: fdupes
@@ -54,7 +52,6 @@
%prep
%setup -q -n %{tarname}-Version-%{version}
-%patch0 -p1
%build
%cmake
@@ -115,7 +112,8 @@
%dir %{_datadir}/appdata
%endif
%{_datadir}/bash-completion/completions/wxmaxima
-%{_datadir}/appdata/wxMaxima.appdata.xml
+%dir %{_datadir}/metainfo
+%{_datadir}/metainfo/wxMaxima.appdata.xml
%{_mandir}/man1/wxmaxima*%{ext_man}
%{_datadir}/mime/packages/*.xml
%{_datadir}/pixmaps/*.svg
++++++ Version-17.10.0.tar.gz -> Version-17.10.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/wxMaxima/Version-17.10.0.tar.gz /work/SRC/openSUSE:Factory/.wxMaxima.new/Version-17.10.1.tar.gz differ: char 15, line 1
1
0
Hello community,
here is the log from the commit of package QMPlay2 for openSUSE:Factory checked in at 2017-10-28 14:22:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/QMPlay2 (Old)
and /work/SRC/openSUSE:Factory/.QMPlay2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "QMPlay2"
Sat Oct 28 14:22:04 2017 rev:28 rq:537035 version:17.10.24
Changes:
--------
--- /work/SRC/openSUSE:Factory/QMPlay2/QMPlay2.changes 2017-10-10 11:43:08.483064573 +0200
+++ /work/SRC/openSUSE:Factory/.QMPlay2.new/QMPlay2.changes 2017-10-28 14:22:06.426624699 +0200
@@ -1,0 +2,16 @@
+Fri Oct 27 07:44:29 UTC 2017 - mpluskal(a)suse.com
+
+- Small spec file clenup:
+ * Run spec-clener
+ * Use more cmake macros
+
+-------------------------------------------------------------------
+Thu Oct 26 08:49:07 UTC 2017 - kah0922(a)gmail.com
+
+- Update to 17.10.24
+ * Add option to stop playback after every file,
+ * fix crash in FFmpeg settings on Windows XP,
+ * add Datmusic (VK) as Pleer replacement,
+ * fix possible crash in RadioBrowser.
+
+-------------------------------------------------------------------
Old:
----
QMPlay2-src-17.10.04.tar.xz
New:
----
QMPlay2-src-17.10.24.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ QMPlay2.spec ++++++
--- /var/tmp/diff_new_pack.jqqPF4/_old 2017-10-28 14:22:07.110599694 +0200
+++ /var/tmp/diff_new_pack.jqqPF4/_new 2017-10-28 14:22:07.110599694 +0200
@@ -17,19 +17,18 @@
Name: QMPlay2
-Version: 17.10.04
+Version: 17.10.24
Release: 0
Summary: A Qt based media player, streamer and downloader
License: LGPL-3.0+
Group: Productivity/Multimedia/Video/Players
Url: http://zaps166.sourceforge.net/?app=QMPlay2
Source: https://github.com/zaps166/QMPlay2/releases/download/%{version}/QMPlay2-src…
-
# PATCH-FIX-OPENSUSE vs. WARNING: invalid-desktopfile contains group,
# but ones extending the format should start with "X-".
Patch2: QMPlay2-desktop-warnings.diff
-
BuildRequires: cmake >= 3.5
+BuildRequires: pkgconfig
BuildRequires: cmake(Qt5LinguistTools)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Widgets)
@@ -78,10 +77,8 @@
%build
%cmake \
- -DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-DUSE_PROSTOPLEER=OFF \
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
-make V=1 %{?_smp_mflags}
+%make_jobs
%install
%cmake_install
@@ -107,7 +104,6 @@
%mime_database_postun
%files
-%defattr(-,root,root)
%doc LICENSE README.md TODO
%{_bindir}/%{name}
%{_libdir}/qmplay2
@@ -122,11 +118,10 @@
%dir %{_datadir}/icons/hicolor/*/apps
%endif
%{_datadir}/qmplay2
-%{_mandir}/man?/%{name}.?.*
+%{_mandir}/man?/%{name}.?%{ext_man}
%{_datadir}/mime/packages/x-*.xml
%files devel
-%defattr(-,root,root)
%{_includedir}/%{name}
%changelog
++++++ QMPlay2-src-17.10.04.tar.xz -> QMPlay2-src-17.10.24.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/CMakeLists.txt new/QMPlay2-src-17.10.24/CMakeLists.txt
--- old/QMPlay2-src-17.10.04/CMakeLists.txt 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/CMakeLists.txt 2017-10-24 18:52:37.000000000 +0200
@@ -86,7 +86,9 @@
add_feature_info("Freedesktop notifications" USE_FREEDESKTOP_NOTIFICATIONS "Use Freedesktop notifications")
endif()
-option(USE_PROSTOPLEER "Build with ProstoPleer support" ON)
+option(USE_DATMUSIC "Build with Datmusic support" ON)
+add_feature_info(Datmusic USE_DATMUSIC "Build with Datmusic support")
+option(USE_PROSTOPLEER "Build with ProstoPleer support" OFF)
add_feature_info(ProstoPleer USE_PROSTOPLEER "Build with ProstoPleer support")
option(USE_SOUNDCLOUD "Build with SoundCloud support" OFF)
add_feature_info(SoundCloud USE_SOUNDCLOUD "Build with SoundCloud support")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/ChangeLog new/QMPlay2-src-17.10.24/ChangeLog
--- old/QMPlay2-src-17.10.04/ChangeLog 2017-10-04 22:27:13.000000000 +0200
+++ new/QMPlay2-src-17.10.24/ChangeLog 2017-10-24 18:55:28.000000000 +0200
@@ -1,3 +1,9 @@
+Changes in QMPlay2 build 17.10.24:
+ - add option to stop playback after every file,
+ - fix crash in FFmpeg settings on Windows XP,
+ - add Datmusic (VK) as Pleer replacement,
+ - fix possible crash in RadioBrowser,
+
Changes in QMPlay2 build 17.10.04:
- command line seeking bugfix,
- update for Wbijam changes,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/lang/de.ts new/QMPlay2-src-17.10.24/lang/de.ts
--- old/QMPlay2-src-17.10.04/lang/de.ts 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/lang/de.ts 2017-10-24 18:52:37.000000000 +0200
@@ -411,6 +411,25 @@
</message>
</context>
<context>
+ <name>Datmusic</name>
+ <message>
+ <source>Title</source>
+ <translation type="unfinished">Titel</translation>
+ </message>
+ <message>
+ <source>Artist</source>
+ <translation type="unfinished">Artist</translation>
+ </message>
+ <message>
+ <source>Length</source>
+ <translation type="unfinished">Länge</translation>
+ </message>
+ <message>
+ <source>Search on Datmusic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DeintSettingsW</name>
<message>
<source>Remove interlacing</source>
@@ -2638,6 +2657,10 @@
<source>Random in group and repea&t</source>
<translation>Zufällige Wiedergabe der Gruppe und wiederholen</translation>
</message>
+ <message>
+ <source>&Stop playback after every file</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ResultsYoutube</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/lang/es.ts new/QMPlay2-src-17.10.24/lang/es.ts
--- old/QMPlay2-src-17.10.04/lang/es.ts 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/lang/es.ts 2017-10-24 18:52:37.000000000 +0200
@@ -411,6 +411,25 @@
</message>
</context>
<context>
+ <name>Datmusic</name>
+ <message>
+ <source>Title</source>
+ <translation type="unfinished">Título</translation>
+ </message>
+ <message>
+ <source>Artist</source>
+ <translation type="unfinished">Artista</translation>
+ </message>
+ <message>
+ <source>Length</source>
+ <translation type="unfinished">Longitud</translation>
+ </message>
+ <message>
+ <source>Search on Datmusic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DeintSettingsW</name>
<message>
<source>Parity (if not detected automatically)</source>
@@ -2633,6 +2652,10 @@
<source>Random in group and repea&t</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>&Stop playback after every file</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ResultsYoutube</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/lang/fr.ts new/QMPlay2-src-17.10.24/lang/fr.ts
--- old/QMPlay2-src-17.10.04/lang/fr.ts 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/lang/fr.ts 2017-10-24 18:52:37.000000000 +0200
@@ -411,6 +411,25 @@
</message>
</context>
<context>
+ <name>Datmusic</name>
+ <message>
+ <source>Title</source>
+ <translation type="unfinished">Titre</translation>
+ </message>
+ <message>
+ <source>Artist</source>
+ <translation type="unfinished">Artiste</translation>
+ </message>
+ <message>
+ <source>Length</source>
+ <translation type="unfinished">Durée</translation>
+ </message>
+ <message>
+ <source>Search on Datmusic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DeintSettingsW</name>
<message>
<source>Remove interlacing</source>
@@ -2633,6 +2652,10 @@
<source>Random in group and repea&t</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>&Stop playback after every file</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ResultsYoutube</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/lang/pl.ts new/QMPlay2-src-17.10.24/lang/pl.ts
--- old/QMPlay2-src-17.10.04/lang/pl.ts 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/lang/pl.ts 2017-10-24 18:52:37.000000000 +0200
@@ -411,6 +411,25 @@
</message>
</context>
<context>
+ <name>Datmusic</name>
+ <message>
+ <source>Title</source>
+ <translation>Tytuł</translation>
+ </message>
+ <message>
+ <source>Artist</source>
+ <translation>Wykonawca</translation>
+ </message>
+ <message>
+ <source>Length</source>
+ <translation>Długość</translation>
+ </message>
+ <message>
+ <source>Search on Datmusic</source>
+ <translation>Wyszukaj w Datmusic</translation>
+ </message>
+</context>
+<context>
<name>DeintSettingsW</name>
<message>
<source>Remove interlacing</source>
@@ -2638,6 +2657,10 @@
<source>Random in group and repea&t</source>
<translation>Z&apętlone losowe odtwarzanie grupy</translation>
</message>
+ <message>
+ <source>&Stop playback after every file</source>
+ <translation>&Zatrzymaj odtwarzanie po każdym pliku</translation>
+ </message>
</context>
<context>
<name>ResultsYoutube</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/lang/ru.ts new/QMPlay2-src-17.10.24/lang/ru.ts
--- old/QMPlay2-src-17.10.04/lang/ru.ts 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/lang/ru.ts 2017-10-24 18:52:37.000000000 +0200
@@ -411,6 +411,25 @@
</message>
</context>
<context>
+ <name>Datmusic</name>
+ <message>
+ <source>Title</source>
+ <translation type="unfinished">Название</translation>
+ </message>
+ <message>
+ <source>Artist</source>
+ <translation type="unfinished">Исполнитель</translation>
+ </message>
+ <message>
+ <source>Length</source>
+ <translation type="unfinished">Продолжительность</translation>
+ </message>
+ <message>
+ <source>Search on Datmusic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DeintSettingsW</name>
<message>
<source>Remove interlacing</source>
@@ -934,11 +953,11 @@
</message>
<message>
<source>Automatically delete ungrouped entries</source>
- <translation type="unfinished"></translation>
+ <translation>Автоматически удалять негруппированные записи</translation>
</message>
<message>
<source>Hide artist metadata</source>
- <translation type="unfinished"></translation>
+ <translation>Скрыть метаданные исполнителя</translation>
</message>
</context>
<context>
@@ -1118,7 +1137,7 @@
</message>
<message>
<source>&Hide menu bar</source>
- <translation> &Скрыть меню</translation>
+ <translation>&Скрыть меню</translation>
</message>
<message>
<source>New window</source>
@@ -1645,25 +1664,27 @@
</message>
<message>
<source>Try to automatically reconnect live streams on error</source>
- <translation type="unfinished"></translation>
+ <translation>Попробуйте автоматически переподключать потоки при ошибке</translation>
</message>
<message>
<source>Always enabled on Wayland and Android platforms.
Set visualizations to OpenGL mode if enabled.</source>
- <translation type="unfinished"></translation>
+ <translation>Всегда включен на платформах Wayland и Android.
+Установите отображение в режим OpenGL включено.</translation>
</message>
<message>
<source>Always enabled on Wayland platform.
Recommended to use when OpenGL video output is in RTT mode.</source>
- <translation type="unfinished"></translation>
+ <translation>Всегда включен на платформе Wayland.
+Рекомендуется использовать, когда видеовыход OpenGL находится в режиме RTT.</translation>
</message>
<message>
<source>Decode MPEG4 videos</source>
- <translation type="unfinished"></translation>
+ <translation>Декодирование видео MPEG4</translation>
</message>
<message>
<source>Disable if you have problems with decoding MPEG4 (DivX5) videos</source>
- <translation type="unfinished"></translation>
+ <translation>Отключите, если у вас возникнут проблемы с декодированием видео MPEG4 (DivX5)</translation>
</message>
</context>
<context>
@@ -1830,7 +1851,7 @@
</message>
<message>
<source>&Playback settings</source>
- <translation type="unfinished">&Настройка воспроизведения</translation>
+ <translation>&Настройка воспроизведения</translation>
</message>
</context>
<context>
@@ -2131,7 +2152,7 @@
</message>
<message>
<source>Accurate seeking</source>
- <translation type="unfinished"></translation>
+ <translation>Точный поиск</translation>
</message>
</context>
<context>
@@ -2230,11 +2251,11 @@
</message>
<message>
<source>&Stop after</source>
- <translation type="unfinished">&Остановить после этого</translation>
+ <translation>&Остановить после этого</translation>
</message>
<message>
<source>Previous &frame</source>
- <translation type="unfinished"></translation>
+ <translation>Предыдущий &кадр</translation>
</message>
</context>
<context>
@@ -2348,7 +2369,7 @@
</message>
<message>
<source>Are you sure you want to delete ungrouped entries?</source>
- <translation>Вы уверены, что хотите удалить записи без группы?</translation>
+ <translation>Удалить негруппированные записи?</translation>
</message>
</context>
<context>
@@ -2453,7 +2474,23 @@
</message>
<message>
<source>QMPlay2 has been updated to version</source>
- <translation>QMPlay2 был обновлен до версии</translation>
+ <translation>QMPlay2 был обновлен до версии</translation>
+ </message>
+ <message>
+ <source>QMPlay2 hasn't been updated. Do you want to run the update (recommended)?</source>
+ <translation>QMPlay2 не был обновлен. Хотите запустить обновление (рекомендуется)?</translation>
+ </message>
+ <message>
+ <source>QtSvg icon engine plugin doesn't exist.
+QMPlay2 will not scale up icons!</source>
+ <translation>Плагин для значков QtSvg не установлен.
+QMPlay2 не будет отображать значки!</translation>
+ </message>
+ <message>
+ <source>QtSvg module doesn't exist.
+QMPlay2 will not display icons!</source>
+ <translation>Модуль QtSvg не установлен.
+QMPlay2 не будет отображать значки!</translation>
</message>
<message>
<source> Parameters list:
@@ -2487,20 +2524,6 @@
-prev - воспроизвести предыдущий в списке
-quit - завершить работу приложений</translation>
</message>
- <message>
- <source>QMPlay2 hasn't been updated. Do you want to run the update (recommended)?</source>
- <translation>QMPlay2 не был обновлен. Хотите запустить обновление (рекомендуется)?</translation>
- </message>
- <message>
- <source>QtSvg icon engine plugin doesn't exist.
-QMPlay2 will not scale up icons!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>QtSvg module doesn't exist.
-QMPlay2 will not display icons!</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>Radio</name>
@@ -2526,74 +2549,74 @@
</message>
<message>
<source>QMPlay2 radio stations</source>
- <translation type="unfinished"></translation>
+ <translation>Радиостанции QMPlay2</translation>
</message>
<message>
<source>My radio stations</source>
- <translation type="unfinished"></translation>
+ <translation>Мои радиостанции</translation>
</message>
<message>
<source>Edit selected radio station</source>
- <translation type="unfinished"></translation>
+ <translation>Изменить выбранную радиостанцию</translation>
</message>
<message>
<source>Remove selected radio station</source>
- <translation type="unfinished"></translation>
+ <translation>Удалить выбранную радиостанцию</translation>
</message>
<message>
<source>Radio Browser</source>
- <translation type="unfinished"></translation>
+ <translation>Обзор радио</translation>
</message>
<message>
<source>Play</source>
- <translation type="unfinished">Воспроизведение</translation>
+ <translation>Воспроизведение</translation>
</message>
<message>
<source>Enqueue</source>
- <translation type="unfinished">Очередь</translation>
+ <translation>Очередь</translation>
</message>
<message>
<source>Add to my radio stations</source>
- <translation type="unfinished"></translation>
+ <translation>Добавить мою радиостанцию</translation>
</message>
<message>
<source>Edit</source>
- <translation type="unfinished"></translation>
+ <translation>Изменить</translation>
</message>
<message>
<source>Open radio website</source>
- <translation type="unfinished"></translation>
+ <translation>Открыть веб-сайт радио</translation>
</message>
<message>
<source>Editing selected radio station</source>
- <translation type="unfinished"></translation>
+ <translation>Редактирование выбранной радиостанции</translation>
</message>
<message>
<source>Radio station with given name already exists!</source>
- <translation type="unfinished"></translation>
+ <translation>Радиостанция с заданным именем уже существует!</translation>
</message>
</context>
<context>
<name>RadioBrowserModel</name>
<message>
<source>Name</source>
- <translation type="unfinished">Название</translation>
+ <translation>Название</translation>
</message>
<message>
<source>Stream info</source>
- <translation type="unfinished"></translation>
+ <translation>Информация о потоке</translation>
</message>
<message>
<source>Country</source>
- <translation type="unfinished"></translation>
+ <translation>Страна</translation>
</message>
<message>
<source>Tags</source>
- <translation type="unfinished"></translation>
+ <translation>Теги</translation>
</message>
<message>
<source>Rating</source>
- <translation type="unfinished"></translation>
+ <translation>Рейтинг</translation>
</message>
</context>
<context>
@@ -2634,6 +2657,10 @@
<source>Random in group and repea&t</source>
<translation>Случайно в группе и повторя&ть</translation>
</message>
+ <message>
+ <source>&Stop playback after every file</source>
+ <translation>&Останавливать воспроизведение после каждого файла</translation>
+ </message>
</context>
<context>
<name>ResultsYoutube</name>
@@ -2822,7 +2849,8 @@
<message>
<source>Slower, but more accurate seeking.
Partially checked doesn't affect seeking on slider.</source>
- <translation type="unfinished"></translation>
+ <translation>Медленный, но более точный поиск.
+Частично проверенное не влияет на поиск на слайдере.</translation>
</message>
</context>
<context>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/lang/zh.ts new/QMPlay2-src-17.10.24/lang/zh.ts
--- old/QMPlay2-src-17.10.04/lang/zh.ts 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/lang/zh.ts 2017-10-24 18:52:37.000000000 +0200
@@ -411,6 +411,25 @@
</message>
</context>
<context>
+ <name>Datmusic</name>
+ <message>
+ <source>Title</source>
+ <translation type="unfinished">标题</translation>
+ </message>
+ <message>
+ <source>Artist</source>
+ <translation type="unfinished">艺术家</translation>
+ </message>
+ <message>
+ <source>Length</source>
+ <translation type="unfinished">长度</translation>
+ </message>
+ <message>
+ <source>Search on Datmusic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DeintSettingsW</name>
<message>
<source>Remove interlacing</source>
@@ -2619,6 +2638,10 @@
<source>Random in group and repea&t</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>&Stop playback after every file</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ResultsYoutube</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/gui/CMakeLists.txt new/QMPlay2-src-17.10.24/src/gui/CMakeLists.txt
--- old/QMPlay2-src-17.10.04/src/gui/CMakeLists.txt 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/gui/CMakeLists.txt 2017-10-24 18:52:37.000000000 +0200
@@ -40,6 +40,7 @@
ShortcutHandler.hpp
KeyBindingsDialog.hpp
Updater.hpp
+ RepeatMode.hpp
)
set(GUI_SRC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/gui/MainWidget.cpp new/QMPlay2-src-17.10.24/src/gui/MainWidget.cpp
--- old/QMPlay2-src-17.10.04/src/gui/MainWidget.cpp 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/gui/MainWidget.cpp 2017-10-24 18:52:37.000000000 +0200
@@ -362,7 +362,7 @@
RepeatMode repeatMode = RepeatNormal;
if (settings.getBool("RestoreRepeatMode"))
- repeatMode = settings.getWithBounds("RepeatMode", RepeatNormal, RepeatRandomGroup);
+ repeatMode = settings.getWithBounds("RepeatMode", RepeatNormal, RepeatStopAfter);
menuBar->player->repeat->repeatActions[repeatMode]->trigger();
if (settings.getBool("RestoreVideoEqualizer"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/gui/MenuBar.cpp new/QMPlay2-src-17.10.24/src/gui/MenuBar.cpp
--- old/QMPlay2-src-17.10.04/src/gui/MenuBar.cpp 2017-10-04 20:49:43.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/gui/MenuBar.cpp 2017-10-17 23:16:21.000000000 +0200
@@ -263,6 +263,8 @@
addSeparator();
choice->addAction(newAction(Repeat::tr("Random and &repeat"), this, repeatActions[RepeatRandom], false, QIcon(), true));
choice->addAction(newAction(Repeat::tr("Random in group and repea&t"), this, repeatActions[RepeatRandomGroup], false, QIcon(), true));
+ addSeparator();
+ choice->addAction(newAction(Repeat::tr("&Stop playback after every file"), this, repeatActions[RepeatStopAfter], false, QIcon(), true));
for (int i = 0; i < RepeatModeCount; ++i)
repeatActions[i]->setProperty("enumValue", i);
@@ -563,6 +565,7 @@
shortcuts->appendAction(player->repeat->repeatActions[RandomGroupMode], "KeyBindings/Player-Repeat-RandomGroupMode", "Alt+5");
shortcuts->appendAction(player->repeat->repeatActions[RepeatRandom], "KeyBindings/Player-Repeat-RepeatRandom", "Alt+6");
shortcuts->appendAction(player->repeat->repeatActions[RepeatRandomGroup], "KeyBindings/Player-Repeat-RepeatRandomGroup", "Alt+7");
+ shortcuts->appendAction(player->repeat->repeatActions[RepeatStopAfter], "KeyBindings/Player-Repeat-RepeatStopAfter", "Alt+8");
shortcuts->appendAction(playback->toggleAudio, "KeyBindings/Playback-toggleAudio", "D");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/gui/PlaylistDock.cpp new/QMPlay2-src-17.10.24/src/gui/PlaylistDock.cpp
--- old/QMPlay2-src-17.10.04/src/gui/PlaylistDock.cpp 2017-10-04 20:49:43.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/gui/PlaylistDock.cpp 2017-10-20 21:53:48.000000000 +0200
@@ -141,16 +141,7 @@
return;
/* If the entry exists, find and play it */
const QList<QTreeWidgetItem *> items = list->getChildren(PlaylistWidget::ALL_CHILDREN);
-
- QString url = Functions::Url(_url);
- {
- //Extract real URL if it also contains default entry name
- QString addressPrefixName, url2;
- Functions::splitPrefixAndUrlIfHasPluginPrefix(url, &addressPrefixName, &url2, nullptr);
- if (addressPrefixName == "QMPlay2EntryName")
- url = url2;
- }
-
+ const QString url = Functions::Url(_url);
for (QTreeWidgetItem *item : items)
{
QString itemUrl = item->data(0, Qt::UserRole).toString();
@@ -295,6 +286,11 @@
QList<QTreeWidgetItem *> l = list->getChildren(PlaylistWidget::ONLY_NON_GROUPS);
if (lastPlaying && !l.contains(lastPlaying))
lastPlaying = nullptr;
+ if (repeatMode == RepeatStopAfter)
+ {
+ emit stop();
+ return;
+ }
QTreeWidgetItem *tWI = nullptr;
if (!l.isEmpty())
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/gui/PlaylistWidget.cpp new/QMPlay2-src-17.10.24/src/gui/PlaylistWidget.cpp
--- old/QMPlay2-src-17.10.04/src/gui/PlaylistWidget.cpp 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/gui/PlaylistWidget.cpp 2017-10-24 18:52:37.000000000 +0200
@@ -304,17 +304,9 @@
if (ioCtrl.isAborted())
break;
- QString url, entryName;
- {
- //Get the default entry name - it'll be used if doesn't exist in stream
- QString addressPrefixName;
- Functions::splitPrefixAndUrlIfHasPluginPrefix(urls.at(i), &addressPrefixName, &url, &entryName);
- if (addressPrefixName != "QMPlay2EntryName")
- {
- url = Functions::Url(urls.at(i));
- entryName.clear();
- }
- }
+ const QString entryName = QMPlay2Core.getNameForUrl(urls.at(i)); // Get the default entry name - it'll be used if doesn't exist in stream
+
+ QString url = Functions::Url(urls.at(i));
int insertChildAt = -1;
if (existingEntries)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/gui/RepeatMode.hpp new/QMPlay2-src-17.10.24/src/gui/RepeatMode.hpp
--- old/QMPlay2-src-17.10.04/src/gui/RepeatMode.hpp 2017-10-04 20:49:43.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/gui/RepeatMode.hpp 2017-10-17 23:16:21.000000000 +0200
@@ -16,8 +16,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef REPEATMODE_HPP
-#define REPEATMODE_HPP
+#pragma once
enum RepeatMode
{
@@ -33,8 +32,8 @@
RepeatRandom,
RepeatRandomGroup,
+ RepeatStopAfter,
+
//Number of items in enum
RepeatModeCount
};
-
-#endif // REPEATMODE_HPP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/modules/Extensions/CMakeLists.txt new/QMPlay2-src-17.10.24/src/modules/Extensions/CMakeLists.txt
--- old/QMPlay2-src-17.10.04/src/modules/Extensions/CMakeLists.txt 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/modules/Extensions/CMakeLists.txt 2017-10-24 18:52:37.000000000 +0200
@@ -66,6 +66,11 @@
add_definitions(-DUSE_TEKSTOWO)
endif()
+if(USE_DATMUSIC)
+ list(APPEND Extensions_HDR MediaBrowser/Datmusic.hpp)
+ list(APPEND Extensions_SRC MediaBrowser/Datmusic.cpp)
+ add_definitions(-DUSE_DATMUSIC)
+endif()
if(USE_PROSTOPLEER)
list(APPEND Extensions_HDR MediaBrowser/ProstoPleer.hpp)
list(APPEND Extensions_SRC MediaBrowser/ProstoPleer.cpp)
@@ -86,7 +91,7 @@
list(APPEND Extensions_SRC MediaBrowser/Wbijam.cpp)
add_definitions(-DUSE_WBIJAM)
endif()
-if(USE_PROSTOPLEER OR USE_SOUNDCLOUD OR USE_ANIMEODCINKI)
+if(USE_DATMUSIC OR USE_PROSTOPLEER OR USE_SOUNDCLOUD OR USE_ANIMEODCINKI OR USE_WBIJAM)
list(APPEND Extensions_HDR MediaBrowser.hpp MediaBrowser/Common.hpp)
list(APPEND Extensions_SRC MediaBrowser.cpp MediaBrowser/Common.cpp)
add_definitions(-DUSE_MEDIABROWSER)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/modules/Extensions/Extensions.pro new/QMPlay2-src-17.10.24/src/modules/Extensions/Extensions.pro
--- old/QMPlay2-src-17.10.04/src/modules/Extensions/Extensions.pro 2017-10-04 20:49:43.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/modules/Extensions/Extensions.pro 2017-10-20 21:53:48.000000000 +0200
@@ -22,9 +22,9 @@
SOURCES += Extensions.cpp YouTube.cpp Downloader.cpp Radio.cpp Radio/RadioBrowserModel.cpp
FORMS += Radio/Radio.ui
-HEADERS += MediaBrowser.hpp MediaBrowser/Common.hpp MediaBrowser/ProstoPleer.hpp MediaBrowser/SoundCloud.hpp MediaBrowser/AnimeOdcinki.hpp MediaBrowser/Wbijam.hpp
-SOURCES += MediaBrowser.cpp MediaBrowser/Common.cpp MediaBrowser/ProstoPleer.cpp MediaBrowser/SoundCloud.cpp MediaBrowser/AnimeOdcinki.cpp MediaBrowser/Wbijam.cpp
-DEFINES += USE_MEDIABROWSER USE_PROSTOPLEER USE_SOUNDCLOUD USE_ANIMEODCINKI USE_WBIJAM
+HEADERS += MediaBrowser.hpp MediaBrowser/Common.hpp MediaBrowser/Datmusic.hpp MediaBrowser/AnimeOdcinki.hpp MediaBrowser/Wbijam.hpp
+SOURCES += MediaBrowser.cpp MediaBrowser/Common.cpp MediaBrowser/Datmusic.cpp MediaBrowser/AnimeOdcinki.cpp MediaBrowser/Wbijam.cpp
+DEFINES += USE_MEDIABROWSER USE_DATMUSIC USE_ANIMEODCINKI USE_WBIJAM
HEADERS += LastFM.hpp
SOURCES += LastFM.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser/AnimeOdcinki.cpp new/QMPlay2-src-17.10.24/src/modules/Extensions/MediaBrowser/AnimeOdcinki.cpp
--- old/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser/AnimeOdcinki.cpp 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/modules/Extensions/MediaBrowser/AnimeOdcinki.cpp 2017-10-24 18:52:37.000000000 +0200
@@ -144,11 +144,12 @@
const bool isOpenload = (name == "openload");
const bool isVk = (name == "vk");
const bool isVIDFile = (name == "vidfile");
+ const bool isTune = (name == "tune");
- if (isGoogle || isOpenload)
- ret.insert(ret.end(), std::move(json));
- else if (isVk || isVIDFile)
+ if (isOpenload || isVIDFile || isTune)
ret.push_back(std::move(json));
+ else if (isVk || isGoogle)
+ ret.insert(ret.begin(), std::move(json));
}
}
@@ -339,6 +340,7 @@
};
const auto getDownloadButtonUrl = [&](bool allowGDriveRawFile) {
+ // Might not work due to linkexpander problems.
const QByteArray adFlyUrl = getAdFlyUrl(reply).toPercentEncoding();
if (!adFlyUrl.isEmpty() && net.startAndWait(netReply, g_linkexpander, "url=" + adFlyUrl, NetworkAccess::UrlEncoded, 3))
{
@@ -346,7 +348,7 @@
const int idx = data.indexOf("<");
if (idx > -1)
{
- const QString &animeUrl = data.left(idx);
+ const QString animeUrl = data.left(idx);
if (!allowGDriveRawFile || !animeUrl.contains("docs.google.com"))
hasStreamUrl = getStreamUrl(animeUrl);
else if (net.startAndWait(netReply, animeUrl))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser/Common.cpp new/QMPlay2-src-17.10.24/src/modules/Extensions/MediaBrowser/Common.cpp
--- old/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser/Common.cpp 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/modules/Extensions/MediaBrowser/Common.cpp 2017-10-24 18:52:37.000000000 +0200
@@ -42,6 +42,9 @@
Functions::setHeaderSectionResizeMode(treeW->header(), 0, QHeaderView::Stretch);
}
+void MediaBrowserCommon::finalize()
+{}
+
QStringList MediaBrowserCommon::getPagesList() const
{
return {};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser/Common.hpp new/QMPlay2-src-17.10.24/src/modules/Extensions/MediaBrowser/Common.hpp
--- old/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser/Common.hpp 2017-10-04 20:49:43.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/modules/Extensions/MediaBrowser/Common.hpp 2017-10-20 21:53:48.000000000 +0200
@@ -71,6 +71,7 @@
virtual void prepareWidget(QTreeWidget *treeW);
+ virtual void finalize();
virtual QString getQMPlay2Url(const QString &text) const = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser/Datmusic.cpp new/QMPlay2-src-17.10.24/src/modules/Extensions/MediaBrowser/Datmusic.cpp
--- old/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser/Datmusic.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/QMPlay2-src-17.10.24/src/modules/Extensions/MediaBrowser/Datmusic.cpp 2017-10-24 18:52:37.000000000 +0200
@@ -0,0 +1,172 @@
+/*
+ QMPlay2 is a video and audio player.
+ Copyright (C) 2010-2017 Błażej Szczygieł
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ 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 Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <MediaBrowser/Datmusic.hpp>
+
+#include <QMPlay2Extensions.hpp>
+#include <NetworkAccess.hpp>
+#include <Functions.hpp>
+#include <Json11.hpp>
+
+#include <QHeaderView>
+#include <QTreeWidget>
+#include <QAction>
+
+constexpr char g_url[] = "http://api.datmusic.xyz";
+constexpr char g_referUrlRawHeader[] = "Referer: https://datmusic.xyz/\r\n";
+
+/**/
+
+Datmusic::Datmusic(NetworkAccess &net) :
+ MediaBrowserCommon(net, "Datmusic", ":/applications-multimedia.svgz")
+{}
+Datmusic::~Datmusic()
+{}
+
+void Datmusic::prepareWidget(QTreeWidget *treeW)
+{
+ MediaBrowserCommon::prepareWidget(treeW);
+
+ treeW->sortByColumn(0, Qt::AscendingOrder);
+
+ treeW->headerItem()->setText(0, tr("Title"));
+ treeW->headerItem()->setText(1, tr("Artist"));
+ treeW->headerItem()->setText(2, tr("Length"));
+
+ Functions::setHeaderSectionResizeMode(treeW->header(), 2, QHeaderView::ResizeToContents);
+}
+void Datmusic::finalize()
+{
+ for (const QString &url : m_urlNames)
+ QMPlay2Core.addNameForUrl(url, QString());
+ m_urlNames.clear();
+}
+
+QString Datmusic::getQMPlay2Url(const QString &text) const
+{
+ return QString("%1://{%2}").arg(m_name, text);
+}
+
+NetworkReply *Datmusic::getSearchReply(const QString &text, const qint32 page)
+{
+ return m_net.start(QString("%1/search?q=%2&page=%3").arg(g_url, text).arg(page - 1), QByteArray(), g_referUrlRawHeader);
+}
+MediaBrowserCommon::Description Datmusic::addSearchResults(const QByteArray &reply, QTreeWidget *treeW)
+{
+ const QIcon datmusicIcon = icon();
+
+ const Json::array jsonArray = Json::parse(reply)["data"].array_items();
+
+ for (size_t i = 0; i < jsonArray.size(); ++i)
+ {
+ Json::object entry = jsonArray[i].object_items();
+ if (entry.empty())
+ continue;
+
+ const QString title = entry["title"].string_value();
+ const QString artist = entry["artist"].string_value();
+ const QString url = entry["download"].string_value();
+ const QString fullName = artist + " - " + title;
+
+ QTreeWidgetItem *tWI = new QTreeWidgetItem(treeW);
+ tWI->setData(0, Qt::UserRole + 1, fullName);
+ tWI->setData(0, Qt::UserRole, url);
+ tWI->setIcon(0, datmusicIcon);
+
+ tWI->setText(0, title);
+ tWI->setToolTip(0, tWI->text(0));
+
+ tWI->setText(1, artist);
+ tWI->setToolTip(1, tWI->text(1));
+
+ tWI->setText(2, Functions::timeToStr(entry["duration"].int_value()));
+
+ QMPlay2Core.addNameForUrl(getQMPlay2Url(url), fullName, false);
+ m_urlNames.append(url);
+ }
+
+ return {};
+}
+
+MediaBrowserCommon::PagesMode Datmusic::pagesMode() const
+{
+ return PagesMode::Multi;
+}
+
+bool Datmusic::hasWebpage() const
+{
+ return false;
+}
+QString Datmusic::getWebpageUrl(const QString &text) const
+{
+ Q_UNUSED(text)
+ return QString();
+}
+
+MediaBrowserCommon::CompleterMode Datmusic::completerMode() const
+{
+ return CompleterMode::Continuous;
+}
+NetworkReply *Datmusic::getCompleterReply(const QString &text)
+{
+ return m_net.start("https://my-free-mp3.net/api/autocomplete.php", "query=" + text.toUtf8().toPercentEncoding(), NetworkAccess::UrlEncoded);
+}
+QStringList Datmusic::getCompletions(const QByteArray &reply)
+{
+ const Json::array jsonArray = Json::parse(reply).array_items();
+ QStringList completions;
+ for (size_t i = 0; i < jsonArray.size(); ++i)
+ {
+ const QString name = jsonArray[i]["name"].string_value();
+ if (!name.isEmpty())
+ completions += name;
+ }
+ return completions;
+}
+
+QAction *Datmusic::getAction() const
+{
+ QAction *act = new QAction(tr("Search on Datmusic"), nullptr);
+ act->setIcon(icon());
+ return act;
+}
+
+bool Datmusic::convertAddress(const QString &prefix, const QString &url, const QString ¶m, QString *streamUrl, QString *name, QIcon *icon, QString *extension, IOController<> *ioCtrl)
+{
+ Q_UNUSED(param)
+ Q_UNUSED(name)
+
+ if (prefix != m_name)
+ return false;
+
+ if (streamUrl || icon)
+ {
+#if 0 // Icon needed
+ if (icon)
+ *icon = m_icon;
+#endif
+ if (extension)
+ *extension = ".mp3";
+ if (ioCtrl && streamUrl)
+ {
+ QMPlay2Core.addRawHeaders(url, g_referUrlRawHeader);
+ *streamUrl = url;
+ }
+ }
+ return true;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser/Datmusic.hpp new/QMPlay2-src-17.10.24/src/modules/Extensions/MediaBrowser/Datmusic.hpp
--- old/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser/Datmusic.hpp 1970-01-01 01:00:00.000000000 +0100
+++ new/QMPlay2-src-17.10.24/src/modules/Extensions/MediaBrowser/Datmusic.hpp 2017-10-20 22:22:08.000000000 +0200
@@ -0,0 +1,59 @@
+/*
+ QMPlay2 is a video and audio player.
+ Copyright (C) 2010-2017 Błażej Szczygieł
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ 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 Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include <MediaBrowser/Common.hpp>
+
+#include <QCoreApplication>
+
+class Datmusic final : public MediaBrowserCommon
+{
+ Q_DECLARE_TR_FUNCTIONS(Datmusic)
+
+public:
+ Datmusic(NetworkAccess &net);
+ ~Datmusic();
+
+
+ void prepareWidget(QTreeWidget *treeW) override;
+
+ void finalize() override;
+
+ QString getQMPlay2Url(const QString &text) const override;
+
+ NetworkReply *getSearchReply(const QString &text, const qint32 page) override;
+ Description addSearchResults(const QByteArray &reply, QTreeWidget *treeW) override;
+
+ PagesMode pagesMode() const override;
+
+ bool hasWebpage() const override;
+ QString getWebpageUrl(const QString &text) const override;
+
+ CompleterMode completerMode() const override;
+ NetworkReply *getCompleterReply(const QString &text) override;
+ QStringList getCompletions(const QByteArray &reply) override;
+
+
+ QAction *getAction() const override;
+
+ bool convertAddress(const QString &prefix, const QString &url, const QString ¶m, QString *streamUrl, QString *name, QIcon *icon, QString *extension, IOController<> *ioCtrl) override;
+
+private:
+ QStringList m_urlNames;
+};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser.cpp new/QMPlay2-src-17.10.24/src/modules/Extensions/MediaBrowser.cpp
--- old/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser.cpp 2017-10-04 20:49:43.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/modules/Extensions/MediaBrowser.cpp 2017-10-24 18:52:37.000000000 +0200
@@ -23,6 +23,9 @@
#include <LineEdit.hpp>
#include <Playlist.hpp>
+#ifdef USE_DATMUSIC
+ #include <MediaBrowser/Datmusic.hpp>
+#endif
#ifdef USE_PROSTOPLEER
#include <MediaBrowser/ProstoPleer.hpp>
#endif
@@ -142,7 +145,9 @@
m_menu.addAction(tr("Copy page address"), this, SLOT(copyPageURL()));
m_menu.addSeparator();
}
- const QString name = tWI->text(0);
+ QString name = tWI->data(0, Qt::UserRole + 1).toString();
+ if (name.isEmpty())
+ name = tWI->text(0);
for (QMPlay2Extensions *QMPlay2Ext : QMPlay2Extensions::QMPlay2ExtensionsList())
{
QString addressPrefixName, url, param;
@@ -329,6 +334,9 @@
m_net(this),
m_visible(false), m_first(true), m_overrideVisibility(false)
{
+#ifdef USE_DATMUSIC
+ m_mediaBrowsers.emplace_back(new Datmusic(m_net));
+#endif
#ifdef USE_PROSTOPLEER
m_mediaBrowsers.emplace_back(new ProstoPleer(m_net));
#endif
@@ -417,7 +425,10 @@
SetModule(module);
}
MediaBrowser::~MediaBrowser()
-{}
+{
+ for (const auto &m : m_mediaBrowsers)
+ m->finalize();
+}
bool MediaBrowser::set()
{
@@ -503,7 +514,10 @@
if (idx > -1)
{
if (m_mediaBrowser)
+ {
m_mediaBrowser->setCompleterListCallback(nullptr);
+ m_mediaBrowser->finalize();
+ }
m_searchCB->blockSignals(true);
m_searchCB->clear();
@@ -564,6 +578,7 @@
{
switch (m_mediaBrowser->completerMode())
{
+ case MediaBrowserCommon::CompleterMode::None:
case MediaBrowserCommon::CompleterMode::Continuous:
searchW = m_searchE;
name = m_searchE->text();
@@ -584,6 +599,8 @@
m_searchReply->deleteLater();
if (m_imageReply)
m_imageReply->deleteLater();
+ if (m_mediaBrowser)
+ m_mediaBrowser->finalize();
m_resultsW->clear();
if (!name.isEmpty())
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/modules/Extensions/Radio.cpp new/QMPlay2-src-17.10.24/src/modules/Extensions/Radio.cpp
--- old/QMPlay2-src-17.10.04/src/modules/Extensions/Radio.cpp 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/modules/Extensions/Radio.cpp 2017-10-24 18:52:37.000000000 +0200
@@ -236,6 +236,8 @@
void Radio::replyFinished(NetworkReply *reply)
{
+ if (reply == m_qmplay2RadioStationsReply)
+ return;
if (!reply->hasError())
{
const int idx = m_searchInfo.key({{}, reply}, -1);
@@ -292,13 +294,11 @@
void Radio::on_myRadioListWidget_itemDoubleClicked(QListWidgetItem *item)
{
- if (item)
- emit QMPlay2Core.processParam("open", "QMPlay2EntryName://{" + item->data(Qt::UserRole).toString() + "}" + item->text());
+ firstTabItemDoubleClicked(item);
}
void Radio::on_qmplay2RadioListWidget_itemDoubleClicked(QListWidgetItem *item)
{
- if (item)
- emit QMPlay2Core.processParam("open", "QMPlay2EntryName://{" + item->data(Qt::UserRole).toString() + "}" + item->text());
+ firstTabItemDoubleClicked(item);
}
void Radio::on_searchByComboBox_activated(int idx)
@@ -375,24 +375,34 @@
if (index.isValid())
radioBrowserPlayOrEnqueue(index, "enqueue");
}
-void Radio::radioBrowserEdit()
+void Radio::radioBrowserOpenHomePage()
{
const QModelIndex index = ui->radioView->currentIndex();
if (index.isValid())
- QDesktopServices::openUrl(m_radioBrowserModel->getEditUrl(index));
+ QDesktopServices::openUrl(m_radioBrowserModel->getHomePageUrl(index));
}
-void Radio::radioBrowserOpenHomePage()
+void Radio::radioBrowserEdit()
{
const QModelIndex index = ui->radioView->currentIndex();
if (index.isValid())
- QDesktopServices::openUrl(m_radioBrowserModel->getHomePageUrl(index));
+ QDesktopServices::openUrl(m_radioBrowserModel->getEditUrl(index));
+}
+
+void Radio::firstTabItemDoubleClicked(QListWidgetItem *item)
+{
+ if (item)
+ {
+ QMPlay2Core.addNameForUrl(item->data(Qt::UserRole).toString(), item->text());
+ emit QMPlay2Core.processParam("open", item->data(Qt::UserRole).toString());
+ }
}
void Radio::radioBrowserPlayOrEnqueue(const QModelIndex &index, const QString ¶m)
{
const QString title = m_radioBrowserModel->getName(index);
const QString url = m_radioBrowserModel->getUrl(index).toString();
- emit QMPlay2Core.processParam(param, "QMPlay2EntryName://{" + url + "}" + title);
+ QMPlay2Core.addNameForUrl(url, title);
+ emit QMPlay2Core.processParam(param, url);
}
void Radio::addMyRadioStation(const QString &name, const QString &address, QListWidgetItem *item)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/modules/Extensions/Radio.hpp new/QMPlay2-src-17.10.24/src/modules/Extensions/Radio.hpp
--- old/QMPlay2-src-17.10.04/src/modules/Extensions/Radio.hpp 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/modules/Extensions/Radio.hpp 2017-10-24 18:52:37.000000000 +0200
@@ -79,6 +79,8 @@
void radioBrowserEdit();
private:
+ void firstTabItemDoubleClicked(QListWidgetItem *item);
+
void radioBrowserPlayOrEnqueue(const QModelIndex &index, const QString ¶m);
void addMyRadioStation(const QString &name, const QString &address, QListWidgetItem *item = nullptr);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/modules/FFmpeg/FFmpeg.cpp new/QMPlay2-src-17.10.24/src/modules/FFmpeg/FFmpeg.cpp
--- old/QMPlay2-src-17.10.04/src/modules/FFmpeg/FFmpeg.cpp 2017-10-04 20:49:43.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/modules/FFmpeg/FFmpeg.cpp 2017-10-16 22:58:30.000000000 +0200
@@ -416,7 +416,8 @@
layout->addWidget(decoderVAAPIEB);
#endif
#ifdef QMPlay2_DXVA2
- layout->addWidget(decoderDXVA2EB);
+ if (decoderDXVA2EB)
+ layout->addWidget(decoderDXVA2EB);
#endif
#ifdef QMPlay2_VTB
layout->addWidget(decoderVTBEB);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/qmplay2/Functions.cpp new/QMPlay2-src-17.10.24/src/qmplay2/Functions.cpp
--- old/QMPlay2-src-17.10.04/src/qmplay2/Functions.cpp 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/qmplay2/Functions.cpp 2017-10-24 18:52:37.000000000 +0200
@@ -781,13 +781,14 @@
return doWrap;
}
-QString Functions::prepareFFmpegUrl(QString url, AVDictionary *&options, bool setCookies, bool icy, const QByteArray &userAgent)
+QString Functions::prepareFFmpegUrl(QString url, AVDictionary *&options, bool setCookies, bool setRawHeaders, bool icy, const QByteArray &userAgent)
{
if (url.startsWith("file://"))
url.remove(0, 7);
else
{
const QByteArray cookies = setCookies ? QMPlay2Core.getCookies(url) : QByteArray();
+ const QByteArray rawHeaders = setRawHeaders ? QMPlay2Core.getRawheaders(url) : QByteArray();
if (url.startsWith("mms:"))
url.insert(3, 'h');
@@ -802,6 +803,8 @@
if (!cookies.isEmpty())
av_dict_set(&options, "headers", "Cookie: " + cookies + "\r\n", 0);
+ if (!rawHeaders.isEmpty())
+ av_dict_set(&options, "headers", rawHeaders, 0);
#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(56, 36, 100)
av_dict_set(&options, "reconnect", "1", 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/qmplay2/NetworkAccess.cpp new/QMPlay2-src-17.10.24/src/qmplay2/NetworkAccess.cpp
--- old/QMPlay2-src-17.10.04/src/qmplay2/NetworkAccess.cpp 2017-10-04 20:49:43.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/qmplay2/NetworkAccess.cpp 2017-10-24 18:52:37.000000000 +0200
@@ -112,7 +112,7 @@
else
{
AVDictionary *options = nullptr;
- const QByteArray url = Functions::prepareFFmpegUrl(m_url, options, m_rawHeaders.isEmpty(), false, m_customUserAgent).toUtf8();
+ const QByteArray url = Functions::prepareFFmpegUrl(m_url, options, m_rawHeaders.isEmpty(), m_rawHeaders.isEmpty(), false, m_customUserAgent).toUtf8();
av_dict_set(&options, "seekable", "0", 0);
if (!m_postData.isNull())
{
@@ -321,7 +321,7 @@
/**/
-const char *const NetworkAccess::UrlEncoded = "Content-Type: application/x-www-form-urlencoded; charset=utf-8";
+const char *const NetworkAccess::UrlEncoded = "Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n";
NetworkAccess::NetworkAccess(QObject *parent) :
QObject(parent),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/qmplay2/QMPlay2Core.cpp new/QMPlay2-src-17.10.24/src/qmplay2/QMPlay2Core.cpp
--- old/QMPlay2-src-17.10.04/src/qmplay2/QMPlay2Core.cpp 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/qmplay2/QMPlay2Core.cpp 2017-10-24 18:52:37.000000000 +0200
@@ -58,14 +58,24 @@
/**/
template<typename Data>
-static QByteArray getCookiesOrResource(const QString &url, Data &data)
+static void setDataToHash(const QString &url, const QByteArray &value, const bool removeAfterUse, Data &data)
{
- auto it = data.find(url);
- if (it == data.end())
+ QMutexLocker locker(&data.mutex);
+ if (value.isEmpty())
+ data.data.remove(url);
+ else
+ data.data[url] = {value, removeAfterUse};
+}
+template<typename Data>
+static QByteArray getDataFromHash(const QString &url, Data &data)
+{
+ QMutexLocker locker(&data.mutex);
+ auto it = data.data.find(url);
+ if (it == data.data.end())
return QByteArray();
const QByteArray ret = it.value().first;
if (it.value().second)
- data.erase(it);
+ data.data.erase(it);
return ret;
}
@@ -491,30 +501,17 @@
void QMPlay2CoreClass::addCookies(const QString &url, const QByteArray &newCookies, const bool removeAfterUse)
{
if (!url.isEmpty())
- {
- QMutexLocker locker(&cookies.mutex);
- if (newCookies.isEmpty())
- cookies.data.remove(url);
- else
- cookies.data[url] = {newCookies, removeAfterUse};
- }
+ setDataToHash(url, newCookies, removeAfterUse, cookies);
}
QByteArray QMPlay2CoreClass::getCookies(const QString &url)
{
- QMutexLocker locker(&cookies.mutex);
- return getCookiesOrResource(url, cookies.data);
+ return getDataFromHash(url, cookies);
}
void QMPlay2CoreClass::addResource(const QString &url, const QByteArray &data)
{
if (url.length() > 10 && url.startsWith("QMPlay2://"))
- {
- QMutexLocker locker(&resources.mutex);
- if (data.isNull())
- resources.data.remove(url);
- else
- resources.data[url] = {data, false};
- }
+ setDataToHash(url, data, false, resources);
}
void QMPlay2CoreClass::modResource(const QString &url, const bool removeAfterUse)
{
@@ -530,8 +527,27 @@
}
QByteArray QMPlay2CoreClass::getResource(const QString &url)
{
- QMutexLocker locker(&resources.mutex);
- return getCookiesOrResource(url, resources.data);
+ return getDataFromHash(url, resources);
+}
+
+void QMPlay2CoreClass::addRawHeaders(const QString &url, const QByteArray &data, const bool removeAfterUse)
+{
+ if (!url.isEmpty())
+ setDataToHash(url, data, removeAfterUse, rawHeaders);
+}
+QByteArray QMPlay2CoreClass::getRawheaders(const QString &url)
+{
+ return getDataFromHash(url, rawHeaders);
+}
+
+void QMPlay2CoreClass::addNameForUrl(const QString &url, const QString &name, const bool removeAfterUse)
+{
+ if (!url.isEmpty())
+ setDataToHash(url, name.toUtf8(), removeAfterUse, namesForUrl);
+}
+QString QMPlay2CoreClass::getNameForUrl(const QString &url)
+{
+ return getDataFromHash(url, namesForUrl);
}
void QMPlay2CoreClass::loadPlaylistGroup(const QString &name, const QMPlay2CoreClass::GroupEntries &entries, bool enqueue)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/qmplay2/Version.cpp new/QMPlay2-src-17.10.24/src/qmplay2/Version.cpp
--- old/QMPlay2-src-17.10.04/src/qmplay2/Version.cpp 2017-10-04 22:27:13.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/qmplay2/Version.cpp 2017-10-24 18:56:16.000000000 +0200
@@ -25,7 +25,7 @@
#ifndef QMPlay2GitHEAD
#define QMPlay2GitHEAD
#endif
-#define QMPlay2Version "17.10.04" QMPlay2GitHEAD
+#define QMPlay2Version "17.10.24" QMPlay2GitHEAD
QByteArray Version::get()
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/qmplay2/headers/Functions.hpp new/QMPlay2-src-17.10.24/src/qmplay2/headers/Functions.hpp
--- old/QMPlay2-src-17.10.04/src/qmplay2/headers/Functions.hpp 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/qmplay2/headers/Functions.hpp 2017-10-24 18:52:37.000000000 +0200
@@ -140,7 +140,7 @@
bool splitPrefixAndUrlIfHasPluginPrefix(const QString &entireUrl, QString *addressPrefixName, QString *url, QString *param = nullptr);
void getDataIfHasPluginPrefix(const QString &entireUrl, QString *url = nullptr, QString *name = nullptr, QIcon *icon = nullptr, IOController<> *ioCtrl = nullptr, const DemuxersInfo &demuxersInfo = DemuxersInfo());
- QString prepareFFmpegUrl(QString url, AVDictionary *&options, bool setCookies = true, bool icy = true, const QByteArray &userAgent = QByteArray());
+ QString prepareFFmpegUrl(QString url, AVDictionary *&options, bool setCookies = true, bool setRawHeaders = true, bool icy = true, const QByteArray &userAgent = QByteArray());
void hFlip(quint8 *data, int linesize, int height, int width);
void vFlip(quint8 *data, int linesize, int height);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/qmplay2/headers/Module.hpp new/QMPlay2-src-17.10.24/src/qmplay2/headers/Module.hpp
--- old/QMPlay2-src-17.10.04/src/qmplay2/headers/Module.hpp 2017-10-04 20:49:43.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/qmplay2/headers/Module.hpp 2017-10-20 21:42:32.000000000 +0200
@@ -134,7 +134,7 @@
/**/
-#define QMPLAY2_MODULES_API_VERSION 5
+#define QMPLAY2_MODULES_API_VERSION 6
#define QMPLAY2_EXPORT_MODULE(ModuleClass) \
extern "C" quint32 getQMPlay2ModuleAPIVersion() \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.10.04/src/qmplay2/headers/QMPlay2Core.hpp new/QMPlay2-src-17.10.24/src/qmplay2/headers/QMPlay2Core.hpp
--- old/QMPlay2-src-17.10.04/src/qmplay2/headers/QMPlay2Core.hpp 2017-10-04 22:27:21.000000000 +0200
+++ new/QMPlay2-src-17.10.24/src/qmplay2/headers/QMPlay2Core.hpp 2017-10-24 18:52:37.000000000 +0200
@@ -180,6 +180,12 @@
bool hasResource(const QString &url) const;
QByteArray getResource(const QString &url);
+ void addRawHeaders(const QString &url, const QByteArray &data, const bool removeAfterUse = true);
+ QByteArray getRawheaders(const QString &url);
+
+ void addNameForUrl(const QString &url, const QString &name, const bool removeAfterUse = true);
+ QString getNameForUrl(const QString &url);
+
void loadPlaylistGroup(const QString &name, const GroupEntries &entries, bool enqueue = false);
private slots:
@@ -211,7 +217,7 @@
{
mutable QMutex mutex;
QHash<QString, QPair<QByteArray, bool>> data;
- } cookies, resources;
+ } cookies, resources, rawHeaders, namesForUrl;
};
#define QMPlay2Core QMPlay2CoreClass::instance()
1
0
Hello community,
here is the log from the commit of package cargo-vendor for openSUSE:Factory checked in at 2017-10-28 14:21:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cargo-vendor (Old)
and /work/SRC/openSUSE:Factory/.cargo-vendor.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cargo-vendor"
Sat Oct 28 14:21:54 2017 rev:3 rq:535739 version:0.1.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/cargo-vendor/cargo-vendor.changes 2017-09-07 22:16:21.352411325 +0200
+++ /work/SRC/openSUSE:Factory/.cargo-vendor.new/cargo-vendor.changes 2017-10-28 14:21:55.163036479 +0200
@@ -1,0 +2,6 @@
+Sat Oct 21 23:59:48 UTC 2017 - luke.nukem.jones(a)gmail.com
+
+- Update to 0.1.12
+ + no changelog provided
+
+-------------------------------------------------------------------
Old:
----
cargo-vendor-0.1.11.tar.gz
New:
----
cargo-vendor-0.1.12.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cargo-vendor.spec ++++++
--- /var/tmp/diff_new_pack.1TKtJr/_old 2017-10-28 14:21:58.934898585 +0200
+++ /var/tmp/diff_new_pack.1TKtJr/_new 2017-10-28 14:21:58.938898439 +0200
@@ -18,7 +18,7 @@
Name: cargo-vendor
-Version: 0.1.11
+Version: 0.1.12
Release: 0
Summary: A Cargo subcommand to vendor Rust dependencies
License: MIT or Apache-2.0
++++++ cargo-vendor-0.1.11.tar.gz -> cargo-vendor-0.1.12.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cargo-vendor-0.1.11/Cargo.lock new/cargo-vendor-0.1.12/Cargo.lock
--- old/cargo-vendor-0.1.11/Cargo.lock 2017-06-20 19:44:31.000000000 +0200
+++ new/cargo-vendor-0.1.12/Cargo.lock 2017-09-09 20:01:39.000000000 +0200
@@ -1,11 +1,13 @@
[root]
name = "cargo-vendor"
-version = "0.1.11"
+version = "0.1.12"
dependencies = [
- "cargo 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cargo 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "toml 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -26,83 +28,124 @@
]
[[package]]
+name = "atty"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "backtrace"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "backtrace-sys 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cfg-if 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rustc-demangle 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "backtrace-sys"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "gcc 0.3.53 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "bitflags"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
name = "bitflags"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "cargo"
-version = "0.19.0"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"advapi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "chrono 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)",
- "crates-io 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "atty 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "crates-io 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
"crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "curl 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "docopt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "curl 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "docopt 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "error-chain 0.11.0-rc.2 (registry+https://github.com/rust-lang/crates.io-index)",
"filetime 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
"flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)",
"fs2 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "git2 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "git2 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
"git2-curl 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "hex 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "jobserver 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
- "libgit2-sys 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libgit2-sys 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
"miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "num_cpus 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl 0.9.17 (registry+https://github.com/rust-lang/crates.io-index)",
"psapi-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
- "semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_ignored 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "scoped-tls 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "semver 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_ignored 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
"shell-escape 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"tar 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
"tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "term 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "toml 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "url 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "termcolor 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "toml 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "cfg-if"
-version = "0.1.1"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
-name = "chrono"
-version = "0.2.25"
+name = "cmake"
+version = "0.1.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
- "time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gcc 0.3.53 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
-name = "cmake"
-version = "0.1.24"
+name = "conv"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)",
+ "custom_derive 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "crates-io"
-version = "0.8.0"
+version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "curl 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "url 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "curl 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "error-chain 0.11.0-rc.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -112,44 +155,60 @@
[[package]]
name = "curl"
-version = "0.4.6"
+version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "curl-sys 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "curl-sys 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
"openssl-probe 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl-sys 0.9.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "socket2 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "curl-sys"
-version = "0.3.12"
+version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gcc 0.3.53 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
"libz-sys 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl-sys 0.9.17 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
"vcpkg 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
+name = "custom_derive"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "dbghelp-sys"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
name = "docopt"
-version = "0.7.0"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
"strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "dtoa"
-version = "0.4.1"
+version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@@ -162,11 +221,19 @@
]
[[package]]
+name = "error-chain"
+version = "0.11.0-rc.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "backtrace 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
name = "filetime"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -174,7 +241,7 @@
version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
"miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -189,26 +256,26 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gcc"
-version = "0.3.51"
+version = "0.3.53"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "git2"
-version = "0.6.6"
+version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
- "libgit2-sys 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libgit2-sys 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)",
"openssl-probe 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
- "url 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl-sys 0.9.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -216,10 +283,10 @@
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "curl 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "git2 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "curl 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "git2 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "url 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -228,21 +295,35 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
+name = "hex"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
name = "idna"
-version = "0.1.2"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "itoa"
-version = "0.3.1"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
+name = "jobserver"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
name = "kernel32-sys"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -258,21 +339,21 @@
[[package]]
name = "libc"
-version = "0.2.24"
+version = "0.2.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "libgit2-sys"
-version = "0.6.12"
+version = "0.6.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
- "curl-sys 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+ "curl-sys 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gcc 0.3.53 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
"libssh2-sys 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
"libz-sys 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl-sys 0.9.17 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -281,10 +362,10 @@
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
"libz-sys 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl-sys 0.9.17 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -293,8 +374,8 @@
version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gcc 0.3.53 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
"vcpkg 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -305,6 +386,23 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
+name = "magenta"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "conv 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "magenta-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "magenta-sys"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
name = "matches"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -314,7 +412,7 @@
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -322,8 +420,8 @@
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gcc 0.3.53 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -332,73 +430,46 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "net2 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "net2 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
"ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "net2"
-version = "0.2.29"
+version = "0.2.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cfg-if 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
"ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
-name = "num"
-version = "0.1.39"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.34"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "num-iter"
-version = "0.1.33"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
name = "num-traits"
-version = "0.1.39"
+version = "0.1.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "num_cpus"
-version = "1.5.1"
+version = "1.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "openssl"
-version = "0.9.14"
+version = "0.9.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"foreign-types 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
- "openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "openssl-sys 0.9.17 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -408,12 +479,13 @@
[[package]]
name = "openssl-sys"
-version = "0.9.14"
+version = "0.9.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gcc 0.3.53 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "vcpkg 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -442,18 +514,14 @@
[[package]]
name = "rand"
-version = "0.3.15"
+version = "0.3.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "magenta 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
-name = "redox_syscall"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
name = "regex"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -461,7 +529,7 @@
"aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "thread_local 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -471,16 +539,22 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
-name = "rustc-serialize"
-version = "0.3.24"
+name = "rustc-demangle"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "scoped-tls"
+version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "semver"
-version = "0.6.0"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -490,66 +564,63 @@
[[package]]
name = "serde"
-version = "0.9.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "serde"
-version = "1.0.8"
+version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
-name = "serde_codegen_internals"
-version = "0.14.2"
+name = "serde_derive"
+version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
+ "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
-name = "serde_derive"
-version = "0.9.15"
+name = "serde_derive_internals"
+version = "0.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_codegen_internals 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "serde_ignored"
-version = "0.0.2"
+version = "0.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "serde_json"
-version = "0.9.10"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
+ "dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "itoa 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
-name = "serde_json"
-version = "1.0.2"
+name = "shell-escape"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
-]
[[package]]
-name = "shell-escape"
-version = "0.1.3"
+name = "socket2"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "cfg-if 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
[[package]]
name = "strsim"
@@ -580,7 +651,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"filetime 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -588,58 +659,37 @@
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "term"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
-name = "thread-id"
-version = "3.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "thread_local"
+name = "termcolor"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "thread-id 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "wincolor 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
-name = "time"
-version = "0.1.37"
+name = "thread_local"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
- "redox_syscall 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "toml"
-version = "0.3.2"
+version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "unicode-bidi"
-version = "0.3.3"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -657,7 +707,7 @@
[[package]]
name = "unreachable"
-version = "0.1.1"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -665,10 +715,10 @@
[[package]]
name = "url"
-version = "1.5.0"
+version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -699,6 +749,15 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
+name = "wincolor"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
name = "ws2_32-sys"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -710,85 +769,91 @@
[metadata]
"checksum advapi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb8a9a"
"checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699"
+"checksum atty 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d912da0db7fa85514874458ca3651fe2cddace8d0b0505571dbdcd41ab490159"
+"checksum backtrace 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "99f2ce94e22b8e664d95c57fff45b98a966c2252b60691d0b7aeeccd88d70983"
+"checksum backtrace-sys 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "afccc5772ba333abccdf60d55200fa3406f8c59dcf54d5f7998c9107d3799c7c"
+"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"
"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"
-"checksum cargo 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)" = "31e994b6c067b4d2df88ded3e2a2b926c4340e2e473113f9baa77b1f5f9416bd"
-"checksum cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29"
-"checksum chrono 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)" = "9213f7cd7c27e95c2b57c49f0e69b1ea65b27138da84a170133fd21b07659c00"
-"checksum cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ebbb35d3dc9cd09497168f33de1acb79b265d350ab0ac34133b98f8509af1f"
-"checksum crates-io 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9e78241ab8c204c0cdf14e634c28136cdc02308e894b3ec47b7117032a34494a"
+"checksum cargo 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bff4aca8467ad0cd3153d6ccb3860b16fcb59b7becf020b1a6cdfbe834600812"
+"checksum cfg-if 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de"
+"checksum cmake 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)" = "0c8a6541a55bcd72d3de4faee2d101a5a66df29790282c7f797082a7228a9b3d"
+"checksum conv 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299"
+"checksum crates-io 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "84b8ef70d98451b2d73bbbe50cb2b64c7a5765cad83ef3dec6ec943b96eac1c2"
"checksum crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97"
-"checksum curl 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c90e1240ef340dd4027ade439e5c7c2064dd9dc652682117bd50d1486a3add7b"
-"checksum curl-sys 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)" = "f00c8ba847fb0730c293069b4d1203dc01bf3c2e1f90b4e55f426ed8f4a1eeac"
-"checksum docopt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab32ea6e284d87987066f21a9e809a73c14720571ef34516f0890b3d355ccfd8"
-"checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90"
+"checksum curl 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae9c2c"
+"checksum curl-sys 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d5481162dc4f424d088581db2f979fa7d4c238fe9794595de61d8d7522e277de"
+"checksum custom_derive 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9"
+"checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850"
+"checksum docopt 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49787a"
+"checksum dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab"
"checksum env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b"
+"checksum error-chain 0.11.0-rc.2 (registry+https://github.com/rust-lang/crates.io-index)" = "38d3a55d9a7a456748f2a3912c0941a5d9a68006eb15b3c3c9836b8420dc102d"
"checksum filetime 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "5363ab8e4139b8568a6237db5248646e5a8a2f89bd5ccb02092182b11fd3e922"
"checksum flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c"
"checksum foreign-types 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8a29d"
"checksum fs2 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c2866"
-"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a"
-"checksum git2 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aa01936ac96555c083c0e8553f672616274408d9d3fc5b8696603fbf63ff43ee"
+"checksum gcc 0.3.53 (registry+https://github.com/rust-lang/crates.io-index)" = "e8310f7e9c890398b0e80e301c4f474e9918d2b27fca8f48486ca775fa9ffc5a"
+"checksum git2 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "0c1c0203d653f4140241da0c1375a404f0a397249ec818cd2076c6280c50f6fa"
"checksum git2-curl 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5bf8e"
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
-"checksum idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2233d4940b1f19f0418c158509cd7396b8d70a5db5705ce410914dc8fa603b37"
-"checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c"
+"checksum hex 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e153aa"
+"checksum idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d"
+"checksum itoa 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ac17257442c2ed77dbc9fd555cf83c58b0c7f7d0e8f2ae08c0ac05c72842e1f6"
+"checksum jobserver 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "443ae8bc0af6c106e6e8b77e04684faecc1a5ce94e058f4c2b0a037b0ea1b133"
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf"
-"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" = "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc"
-"checksum libgit2-sys 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "df18a822100352d9863b302faf6f8f25c0e77f0e60feb40e5dbe1238b7f13b1d"
+"checksum libc 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)" = "2370ca07ec338939e356443dac2296f581453c35fe1e3a3ed06023c49435f915"
+"checksum libgit2-sys 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)" = "c00f6e5bc3fb2b5f87e75e8d0fd4ae6720d55f3ee23d389b7c6cae30f8db8db1"
"checksum libssh2-sys 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0db4ec23611747ef772db1c4d650f8bd762f07b461727ec998f953c614024b75"
"checksum libz-sys 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)" = "3fdd64ef8ee652185674455c1d450b83cbc8ad895625d543b5324d923f82e4d8"
"checksum log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b"
+"checksum magenta 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3ac527"
+"checksum magenta-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f4699"
"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376"
"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4"
"checksum miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "28eaee17666671fa872e567547e8428e83308ebe5808cdf6a0e28397dbe2c726"
"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
-"checksum net2 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)" = "bc01404e7568680f1259aa5729539f221cb1e6d047a0d9053cab4be8a73b5d67"
-"checksum num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3a3dc9f30bf824141521b30c908a859ab190b76e20435fcd89f35eb6583887"
-"checksum num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37"
-"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e"
-"checksum num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "1708c0628602a98b52fad936cf3edb9a107af06e52e49fdf0707e884456a6af6"
-"checksum num_cpus 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6e416ba127a4bb3ff398cb19546a8d0414f73352efe2857f4060d36f5fe5983a"
-"checksum openssl 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)" = "11ba043cb65fc9af71a431b8a36ffe8686cd4751cdf70a473ec1d01066ac7e41"
+"checksum net2 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)" = "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b716c09"
+"checksum num-traits 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721b9b0"
+"checksum num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aec53c34f2d0247c5ca5d32cca1478762f301740468ee9ee6dcb7a0dd7a0c584"
+"checksum openssl 0.9.17 (registry+https://github.com/rust-lang/crates.io-index)" = "085aaedcc89a2fac1eb2bc19cd66f29d4ea99fec60f82a5f3a88a6be7dbd90b5"
"checksum openssl-probe 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f378daf"
-"checksum openssl-sys 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)" = "236c718c2e2c2b58a546d86ffea5194400bb15dbe01ca85325ffd357b03cf66c"
+"checksum openssl-sys 0.9.17 (registry+https://github.com/rust-lang/crates.io-index)" = "7e3a9845a4c9fdb321931868aae5549e96bb7b979bf9af7de03603d74691b5f3"
"checksum percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356"
"checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903"
"checksum psapi-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a2478"
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
-"checksum rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d"
-"checksum redox_syscall 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "3041aeb6000db123d2c9c751433f526e1f404b23213bd733167ab770c3989b4d"
+"checksum rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8fecbcdf"
"checksum regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b"
"checksum regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db"
-"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
-"checksum semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537"
+"checksum rustc-demangle 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e817e"
+"checksum scoped-tls 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f147d"
+"checksum semver 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3fdd61b85a0fa777f7fb7c454b9189b2941b110d1385ce84d7f76efdf1606a85"
"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-"checksum serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)" = "34b623917345a631dc9608d5194cc206b3fe6c3554cd1c75b937e55e285254af"
-"checksum serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "c2f530d36fb84ec48fb7146936881f026cdbf4892028835fd9398475f82c1bb4"
-"checksum serde_codegen_internals 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc888bd283bd2420b16ad0d860e35ad8acb21941180a83a189bb2046f9d00400"
-"checksum serde_derive 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)" = "978fd866f4d4872084a81ccc35e275158351d3b9fe620074e7d7504b816b74ba"
-"checksum serde_ignored 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d4b3f5576874721d14690657e9f0ed286e72a52be2f6fdc0cf2f024182bd8f64"
-"checksum serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ad8bcf487be7d2e15d3d543f04312de991d631cfe1b43ea0ade69e6a8a5b16a1"
-"checksum serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "48b04779552e92037212c3615370f6bd57a40ebba7f20e554ff9f55e41a69a7b"
+"checksum serde 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)" = "7f61b753dd58ec5d4c735f794dbddde1f28b977f652afbcde89d75bc77902216"
+"checksum serde_derive 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)" = "2a169fa5384d751ada1da9f3992b81830151a03c875e40dcb37c9fb31aafc68f"
+"checksum serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37aee4e0da52d801acfbc0cc219eb1eda7142112339726e427926a6f6ee65d3a"
+"checksum serde_ignored 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c10e798e4405d7dcec3658989e35ee6706f730a9ed7c1184d5ebd84317e82f46"
+"checksum serde_json 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6b7ac"
"checksum shell-escape 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b84ef8"
+"checksum socket2 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4daf80fcf54186fac4fe049e0b39d36a5cfde69a11a06413e61e77f553cccf9a"
"checksum strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694"
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
"checksum tar 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" = "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f2b1b"
"checksum tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6"
-"checksum term 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d168af3930b369cfe245132550579d47dfd873d69470755a19c2c6568dbbd989"
-"checksum thread-id 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8df7875b676fddfadffd96deea3b1124e5ede707d4884248931077518cf1f773"
-"checksum thread_local 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c85048c6260d17cf486ceae3282d9fb6b90be220bf5b28c400f5485ffc29f0c7"
-"checksum time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3"
-"checksum toml 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bd86ad9ebee246fdedd610e0f6d0587b754a3d81438db930a244d0480ed7878f"
-"checksum unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a6a2c4e3710edd365cd7e78383153ed739fa31af19f9172f72d3575060f5a43a"
+"checksum termcolor 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b242c75"
+"checksum thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14"
+"checksum toml 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b6e7e"
+"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
"checksum unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f"
"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
-"checksum unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91"
-"checksum url 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a69a2e36a5e5ed3f3063c8c64a3b028c4d50d689fa6c862abd7cfe65f882595c"
+"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
+"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27"
"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122"
"checksum vcpkg 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd5487d0b"
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+"checksum wincolor 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a39ee4464208f6430992ff20154216ab2357772ac871d994c51628d60e58b8b0"
"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cargo-vendor-0.1.11/Cargo.toml new/cargo-vendor-0.1.12/Cargo.toml
--- old/cargo-vendor-0.1.11/Cargo.toml 2017-06-20 19:44:31.000000000 +0200
+++ new/cargo-vendor-0.1.12/Cargo.toml 2017-09-09 20:01:39.000000000 +0200
@@ -1,6 +1,6 @@
[package]
name = "cargo-vendor"
-version = "0.1.11"
+version = "0.1.12"
authors = ["Alex Crichton <alex(a)alexcrichton.com>"]
license = "MIT/Apache-2.0"
readme = "README.md"
@@ -12,7 +12,9 @@
"""
[dependencies]
-cargo = "0.19"
-rustc-serialize = "0.3"
+cargo = "0.21"
env_logger = "0.4"
+serde = "1.0"
+serde_derive = "1.0"
serde_json = "1.0"
+toml = "0.4"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cargo-vendor-0.1.11/src/main.rs new/cargo-vendor-0.1.12/src/main.rs
--- old/cargo-vendor-0.1.11/src/main.rs 2017-06-20 19:44:31.000000000 +0200
+++ new/cargo-vendor-0.1.12/src/main.rs 2017-09-09 20:01:39.000000000 +0200
@@ -1,30 +1,28 @@
extern crate cargo;
extern crate env_logger;
-extern crate rustc_serialize;
+#[macro_use]
+extern crate serde_derive;
#[macro_use]
extern crate serde_json;
+extern crate toml;
-use std::cmp;
use std::collections::{BTreeMap, HashMap, BTreeSet};
use std::env;
use std::fs::{self, File};
use std::io::{self, Read, Write};
-use std::path::Path;
-
-use rustc_serialize::hex::ToHex;
+use std::path::{PathBuf, Path};
-use cargo::core::{SourceId, Dependency, Workspace};
+use cargo::core::{Workspace, GitReference};
use cargo::CliResult;
-use cargo::util::{human, ChainError, ToUrl, Config, CargoResult};
+use cargo::util::{Config, CargoResult, CargoResultExt};
use cargo::util::Sha256;
-#[derive(RustcDecodable)]
+#[derive(Deserialize)]
struct Options {
arg_path: Option<String>,
flag_no_delete: Option<bool>,
flag_version: bool,
flag_sync: Option<Vec<String>>,
- flag_host: Option<String>,
flag_verbose: u32,
flag_quiet: Option<bool>,
flag_explicit_version: Option<bool>,
@@ -33,6 +31,32 @@
flag_locked: bool,
}
+#[derive(Serialize)]
+struct VendorConfig {
+ source: BTreeMap<String, VendorSource>,
+}
+
+#[derive(Serialize)]
+#[serde(rename_all = "lowercase", untagged)]
+enum VendorSource {
+ Directory {
+ directory: PathBuf,
+ },
+ Registry {
+ registry: Option<String>,
+ #[serde(rename = "replace-with")]
+ replace_with: String,
+ },
+ Git {
+ git: String,
+ branch: Option<String>,
+ tag: Option<String>,
+ rev: Option<String>,
+ #[serde(rename = "replace-with")]
+ replace_with: String,
+ },
+}
+
fn main() {
env_logger::init().unwrap();
@@ -60,7 +84,6 @@
-h, --help Print this message
-V, --version Print version information
-s, --sync TOML ... Sync the `Cargo.toml` or `Cargo.lock` specified
- --host HOST Registry index to sync with
-v, --verbose ... Use verbose output
-q, --quiet No output printed to stdout
-x, --explicit-version Always include version in subdir name
@@ -101,13 +124,8 @@
let default = "vendor".to_string();
let path = Path::new(options.arg_path.as_ref().unwrap_or(&default));
- try!(fs::create_dir_all(&path).chain_error(|| {
- human(format!("failed to create: `{}`", path.display()))
- }));
- let id = try!(options.flag_host.map(|s| {
- s.to_url().map(|url| SourceId::for_registry(&url)).map_err(human)
- }).unwrap_or_else(|| {
- SourceId::crates_io(config)
+ try!(fs::create_dir_all(&path).chain_err(|| {
+ format!("failed to create: `{}`", path.display())
}));
let workspaces = match options.flag_sync {
@@ -128,60 +146,71 @@
}
};
- try!(sync(&workspaces,
- &path,
- &id,
- config,
- options.flag_explicit_version.unwrap_or(false),
- options.flag_no_delete.unwrap_or(false)).chain_error(|| {
- human("failed to sync")
+ let vendor_config = try!(sync(
+ &workspaces,
+ &path,
+ config,
+ options.flag_explicit_version.unwrap_or(false),
+ options.flag_no_delete.unwrap_or(false)
+ ).chain_err(|| {
+ "failed to sync"
}));
if !options.flag_quiet.unwrap_or(false) {
println!("To use vendored sources, add this to your .cargo/config for this project:
- [source.crates-io]
- registry = '{}'
- replace-with = 'vendored-sources'
-
- [source.vendored-sources]
- directory = '{}'
+{}
-", id.url(), config.cwd().join(path).display());
+", indent_string(4, &toml::to_string(&vendor_config).unwrap()));
}
Ok(())
}
+fn indent_string(amount: usize, data: &str) -> String {
+ data.lines().map(|l| " ".repeat(amount) + l + "\n").collect()
+}
+
fn sync(workspaces: &[Workspace],
local_dst: &Path,
- registry_id: &SourceId,
config: &Config,
explicit_version: bool,
- no_delete: bool) -> CargoResult<()> {
- let mut ids = BTreeSet::new();
- let mut registry = registry_id.load(config);
-
+ no_delete: bool) -> CargoResult<VendorConfig> {
+ let mut ids = BTreeMap::new();
for ws in workspaces {
- let (_, resolve) = try!(cargo::ops::resolve_ws(&ws).chain_error(|| {
- human("failed to load pkg lockfile")
+ let (packages, resolve) = try!(cargo::ops::resolve_ws(&ws).chain_err(|| {
+ "failed to load pkg lockfile"
}));
- ids.extend(resolve.iter()
- .filter(|id| id.source_id() == registry_id)
- .cloned());
- }
-
- let hash = cargo::util::hex::short_hash(registry_id);
- let ident = registry_id.url().host().unwrap().to_string();
- let part = format!("{}-{}", ident, hash);
-
- let src = config.registry_source_path().join(&part);
- let cache = config.registry_cache_path().join(&part);
-
- let mut max = HashMap::new();
- for id in ids.iter() {
- let max = max.entry(id.name()).or_insert(id.version());
- *max = cmp::max(id.version(), *max)
+
+ for pkg in resolve.iter() {
+ if pkg.source_id().is_path() {
+ continue
+ }
+ ids.insert(pkg.clone(), packages.get(pkg).chain_err(|| {
+ "failed to fetch package"
+ })?.clone());
+ }
+ }
+
+ // https://github.com/rust-lang/cargo/blob/373c5d8ce43691f90929a74b047d7eababd…
+
+ let mut versions = HashMap::new();
+ for id in ids.keys() {
+ let map = versions.entry(id.name()).or_insert_with(BTreeMap::default);
+
+ if let Some(prev) = map.get(&id.version()) {
+ let err = format!("found duplicate version of package `{} v{}` \
+ vendored from two sources:\n\
+ \n\
+ \tsource 1: {}\n\
+ \tsource 2: {}",
+ id.name(),
+ id.version(),
+ prev,
+ id.source_id());
+ return Err(err.into())
+ }
+ map.insert(id.version(), id.source_id());
}
let existing_crates = local_dst.read_dir().map(|iter| {
@@ -192,40 +221,12 @@
}).unwrap_or(Vec::new());
let mut added_crates = Vec::new();
- for id in ids.iter() {
- // First up, download the package
- let vers = format!("={}", id.version());
- let dep = try!(Dependency::parse_no_deprecated(id.name(),
- Some(&vers[..]),
- id.source_id()));
- let mut vec = try!(registry.query(&dep));
-
- // Some versions have "build metadata" which is ignored by semver when
- // matching. That means that `vec` being returned may have more than one
- // element, so we filter out all non-equivalent versions with different
- // build metadata than the one we're looking for.
- //
- // Note that we also don't compare semver versions directly as the
- // default equality ignores build metadata.
- if vec.len() > 1 {
- vec.retain(|version| {
- version.package_id().version().to_string() == id.version().to_string()
- });
- }
- if vec.len() == 0 {
- return Err(human(format!("could not find package: {}", id)))
- }
- if vec.len() > 1 {
- return Err(human(format!("found too many packages: {}", id)))
- }
- try!(registry.download(id).chain_error(|| {
- human(format!("failed to download package from registry"))
- }));
-
+ let mut sources = BTreeSet::new();
+ for (id, pkg) in ids.iter() {
// Next up, copy it to the vendor directory
- let name = format!("{}-{}", id.name(), id.version());
- let src = src.join(&name).into_path_unlocked();
- let dir_has_version_suffix = explicit_version || id.version() != max[id.name()];
+ let src = pkg.manifest_path().parent().expect("manifest_path should point to a file");
+ let max_version = *versions[id.name()].iter().rev().next().unwrap().0;
+ let dir_has_version_suffix = explicit_version || id.version() != max_version;
let dst_name = if dir_has_version_suffix {
// Eg vendor/futures-0.1.13
format!("{}-{}", id.name(), id.version())
@@ -235,6 +236,7 @@
};
let dst = local_dst.join(&dst_name);
added_crates.push(dst.clone());
+ sources.insert(id.source_id());
let cksum = dst.join(".cargo-checksum.json");
if dir_has_version_suffix && cksum.exists() {
@@ -243,20 +245,17 @@
}
config.shell().status("Vendoring",
- &format!("{} to {}", id, dst.display()))?;
+ &format!("{} ({}) to {}", id, src.to_string_lossy(), dst.display()))?;
let _ = fs::remove_dir_all(&dst);
let mut map = BTreeMap::new();
- try!(cp_r(&src, &dst, &dst, &mut map).chain_error(|| {
- human(format!("failed to copy over vendored sources for: {}", id))
+ try!(cp_r(&src, &dst, &dst, &mut map).chain_err(|| {
+ format!("failed to copy over vendored sources for: {}", id)
}));
// Finally, emit the metadata about this package
- let crate_file = format!("{}-{}.crate", id.name(), id.version());
- let crate_file = cache.join(&crate_file).into_path_unlocked();
-
let json = json!({
- "package": try!(sha256(&crate_file)),
+ "package": pkg.summary().checksum(),
"files": map,
});
@@ -271,7 +270,51 @@
}
}
- Ok(())
+ // add our vendored source
+ let dir = config.cwd().join(local_dst);
+ let mut config = BTreeMap::new();
+ config.insert("vendored-sources".to_string(), VendorSource::Directory {
+ directory: dir.to_path_buf(),
+ });
+
+ // replace original sources with vendor
+ for source_id in sources {
+ let name = if source_id.is_default_registry() {
+ "crates-io".to_string()
+ } else {
+ source_id.url().to_string()
+ };
+
+ let source = if source_id.is_default_registry() {
+ VendorSource::Registry {
+ registry: None,
+ replace_with: "vendored-sources".to_string(),
+ }
+ } else if source_id.is_git() {
+ let mut branch = None;
+ let mut tag = None;
+ let mut rev = None;
+ if let Some(reference) = source_id.git_reference() {
+ match *reference {
+ GitReference::Branch(ref b) => branch = Some(b.clone()),
+ GitReference::Tag(ref t) => tag = Some(t.clone()),
+ GitReference::Rev(ref r) => rev = Some(r.clone()),
+ }
+ }
+ VendorSource::Git {
+ git: source_id.url().to_string(),
+ branch,
+ tag,
+ rev,
+ replace_with: "vendored-sources".to_string(),
+ }
+ } else {
+ panic!()
+ };
+ config.insert(name, source);
+ }
+
+ Ok(VendorConfig { source: config })
}
fn cp_r(src: &Path,
@@ -287,8 +330,12 @@
// the time and if we respect them (e.g. in git) then it'll
// probably mess with the checksums when a vendor dir is checked
// into someone else's source control
- Some(".gitattributes") => continue,
- Some(".gitignore") => continue,
+ Some(".gitattributes") |
+ Some(".gitignore") |
+ Some(".git") => continue,
+
+ // Temporary Cargo files
+ Some(".cargo-ok") => continue,
// Skip patch-style orig/rej files. Published crates on crates.io
// have `Cargo.toml.orig` which we don't want to use here and
@@ -325,5 +372,23 @@
}
sha.update(&buf[..n]);
}
- Ok(sha.finish().to_hex())
+ Ok(hex(&sha.finish()))
+}
+
+fn hex(bytes: &[u8]) -> String {
+ let mut s = String::with_capacity(bytes.len() * 2);
+ for &byte in bytes {
+ s.push(hex((byte >> 4) & 0xf));
+ s.push(hex((byte >> 0) & 0xf));
+ }
+
+ return s;
+
+ fn hex(b: u8) -> char {
+ if b < 10 {
+ (b'0' + b) as char
+ } else {
+ (b'a' + b - 10) as char
+ }
+ }
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cargo-vendor-0.1.11/tests/vendor.rs new/cargo-vendor-0.1.12/tests/vendor.rs
--- old/cargo-vendor-0.1.11/tests/vendor.rs 2017-06-20 19:44:31.000000000 +0200
+++ new/cargo-vendor-0.1.12/tests/vendor.rs 2017-09-09 20:01:39.000000000 +0200
@@ -289,3 +289,47 @@
let csum = read(&dir.join("vendor/url/.cargo-checksum.json"));
assert!(!csum.contains("\"Cargo.toml.orig\""));
}
+
+#[test]
+fn git_simple() {
+ let dir = dir();
+
+ file(&dir, "Cargo.toml", r#"
+ [package]
+ name = "foo"
+ version = "0.1.0"
+
+ [dependencies.futures]
+ git = 'https://github.com/alexcrichton/futures-rs'
+ rev = '03a0005cb6498e4330'
+ "#);
+ file(&dir, "src/lib.rs", "");
+
+ run(&mut vendor(&dir));
+ let csum = read(&dir.join("vendor/futures/.cargo-checksum.json"));
+ assert!(csum.contains("\"package\":null"));
+}
+
+#[test]
+fn git_duplicate() {
+ let dir = dir();
+
+ file(&dir, "Cargo.toml", r#"
+ [package]
+ name = "foo"
+ version = "0.1.0"
+
+ [dependencies]
+ futures = "=0.1.15"
+
+ [dependencies.futures-cpupool]
+ git = 'https://github.com/alexcrichton/futures-rs'
+ rev = '03a0005cb6498e4330'
+ "#);
+ file(&dir, "src/lib.rs", "");
+
+ let output = vendor(&dir).output().unwrap();
+ assert!(!output.status.success());
+ let stderr = String::from_utf8_lossy(&output.stderr);
+ assert!(stderr.contains("found duplicate version of package `futures v0.1.15`"));
+}
++++++ vendor.tar.xz ++++++
/work/SRC/openSUSE:Factory/cargo-vendor/vendor.tar.xz /work/SRC/openSUSE:Factory/.cargo-vendor.new/vendor.tar.xz differ: char 25, line 1
1
0
Hello community,
here is the log from the commit of package libxcam for openSUSE:Factory checked in at 2017-10-28 14:21:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libxcam (Old)
and /work/SRC/openSUSE:Factory/.libxcam.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libxcam"
Sat Oct 28 14:21:49 2017 rev:2 rq:535343 version:1.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libxcam/libxcam.changes 2017-10-13 14:18:44.753215814 +0200
+++ /work/SRC/openSUSE:Factory/.libxcam.new/libxcam.changes 2017-10-28 14:21:49.475244418 +0200
@@ -1,0 +2,5 @@
+Thu Oct 12 23:06:57 UTC 2017 - jengelh(a)inai.de
+
+- Update package summary.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libxcam.spec ++++++
--- /var/tmp/diff_new_pack.JF9Cvc/_old 2017-10-28 14:21:50.011224823 +0200
+++ /var/tmp/diff_new_pack.JF9Cvc/_new 2017-10-28 14:21:50.015224677 +0200
@@ -55,7 +55,7 @@
performance in different platforms.
%package -n %{libname}
-Summary: Library components for %{name}
+Summary: Image processing library for extended camera features and video analysis
Group: System/Libraries
%description -n %{libname}
1
0
Hello community,
here is the log from the commit of package zypp-plugin for openSUSE:Factory checked in at 2017-10-28 14:21:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/zypp-plugin (Old)
and /work/SRC/openSUSE:Factory/.zypp-plugin.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "zypp-plugin"
Sat Oct 28 14:21:18 2017 rev:11 rq:536916 version:0.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/zypp-plugin/zypp-plugin.changes 2015-05-06 11:18:43.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.zypp-plugin.new/zypp-plugin.changes 2017-10-28 14:21:18.628372163 +0200
@@ -1,0 +2,13 @@
+Thu Oct 26 17:14:59 CEST 2017 - ma(a)suse.de
+
+- Let zypp-plugin-python provide python2-zypp-plugin to be
+ consistent with python3-zypp-plugin.
+- version 0.6.1
+
+-------------------------------------------------------------------
+Thu Oct 26 12:43:19 CEST 2017 - ma(a)suse.de
+
+- Fix specfile to be able to build for python3
+- version 0.6
+
+-------------------------------------------------------------------
Old:
----
zypp-plugin-0.5.tar.bz2
New:
----
zypp-plugin-0.6.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ zypp-plugin.spec ++++++
--- /var/tmp/diff_new_pack.GSHjV0/_old 2017-10-28 14:21:19.084355492 +0200
+++ /var/tmp/diff_new_pack.GSHjV0/_new 2017-10-28 14:21:19.088355347 +0200
@@ -1,7 +1,7 @@
#
# spec file for package zypp-plugin
#
-# Copyright (c) 2015 SUSE LINUX 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
@@ -16,8 +16,12 @@
#
+%if 0%{?suse_version} >= 1320
+%global build_py3 1
+%endif
+
Name: zypp-plugin
-Version: 0.5
+Version: 0.6.1
Release: 0
Url: https://gitorious.org/opensuse/zypp-plugin
Summary: Helper that makes writing ZYpp plugins easier
@@ -25,46 +29,61 @@
Group: System/Packages
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: %{name}-%{version}.tar.bz2
-
-# Actually libzypp(plugin) should be required. Unfortunately the corresponing
-# provides was introduced to late for SUSE Manager/SLE-11-SP1. We do not want to
-# enforce libzypp update to satisfy this, so the Requires should saty disabled,
-# until libzypp on SUSE Manager/SLE-11-SP1 was updated and provides libzypp(plugin).
-#Requires: libzypp(plugin)
-BuildRequires: python-devel
-Requires: python
-
-%{?!py_sitearch: %global py_sitearch %(python -c 'from distutils.sysconfig import get_python_lib; print get_python_lib(True)')}
+%if 0%{?suse_version} >= 1210
+BuildArch: noarch
+%endif
%description
Empty main package. Helper for different languages reside in subpackages.
-%package python
-Summary: Helper that makes writing ZYpp plugins in python easier
-Group: System/Packages
-
-%description python
-This API allows writing ZYpp plugins by just subclassing from a python class
-and implementing the commands you want to respond to as python methods.
-
%prep
%setup -q -n zypp-plugin
%build
%install
-%{__mkdir_p} %{buildroot}%{py_sitearch}
-%{__install} python/zypp_plugin.py %{buildroot}%{py_sitearch}/zypp_plugin.py
-%if 0%{?suse_version}
-pushd $RPM_BUILD_ROOT/%{python_sitearch}
-python %py_libdir/py_compile.py *.py
-python -O %py_libdir/py_compile.py *.py
-popd
+%{__mkdir_p} %{buildroot}%{python_sitelib}
+%{__install} python/zypp_plugin.py %{buildroot}%{python_sitelib}/zypp_plugin.py
+%py_compile -O %{buildroot}/%{python_sitelib}
+%if 0%{?build_py3}
+%{__mkdir_p} %{buildroot}%{python3_sitelib}
+%{__install} python/zypp_plugin.py %{buildroot}%{python3_sitelib}/zypp_plugin.py
+%py3_compile -O %{buildroot}/%{python3_sitelib}
+%endif
+
+%if 0%{?build_py3}
+%package -n python3-%{name}
+Summary: Helper that makes writing ZYpp plugins in python easier
+Group: System/Packages
+Requires: python3
+BuildRequires: python3-devel
+
+%description -n python3-%{name}
+This API allows writing ZYpp plugins by just subclassing from a python class
+and implementing the commands you want to respond to as python methods.
%endif
+%package python
+Summary: Helper that makes writing ZYpp plugins in python easier
+Group: System/Packages
+Provides: python2-%{name}
+BuildRequires: python-devel
+Requires: python
+
+%description python
+This API allows writing ZYpp plugins by just subclassing from a python class
+and implementing the commands you want to respond to as python methods.
+
%files python
%defattr(-,root,root)
%doc COPYING
-%{py_sitearch}/*
+%{python_sitelib}/*
+
+%if 0%{?build_py3}
+%files -n python3-%{name}
+%defattr(-,root,root)
+%doc COPYING
+%{python3_sitelib}/*
+%endif
%changelog
++++++ zypp-plugin-0.5.tar.bz2 -> zypp-plugin-0.6.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zypp-plugin/package/zypp-plugin.changes new/zypp-plugin/package/zypp-plugin.changes
--- old/zypp-plugin/package/zypp-plugin.changes 2015-04-28 16:34:26.000000000 +0200
+++ new/zypp-plugin/package/zypp-plugin.changes 2017-10-26 17:24:36.000000000 +0200
@@ -1,4 +1,17 @@
-------------------------------------------------------------------
+Thu Oct 26 17:14:59 CEST 2017 - ma(a)suse.de
+
+- Let zypp-plugin-python provide python2-zypp-plugin to be
+ consistent with python3-zypp-plugin.
+- version 0.6.1
+
+-------------------------------------------------------------------
+Thu Oct 26 12:43:19 CEST 2017 - ma(a)suse.de
+
+- Fix specfile to be able to build for python3
+- version 0.6
+
+-------------------------------------------------------------------
Tue Mar 10 17:18:59 CET 2015 - lchiquitto(a)suse.de
- Add COPYING file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zypp-plugin/package/zypp-plugin.spec new/zypp-plugin/package/zypp-plugin.spec
--- old/zypp-plugin/package/zypp-plugin.spec 2015-04-28 16:34:26.000000000 +0200
+++ new/zypp-plugin/package/zypp-plugin.spec 2017-10-26 17:24:36.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package zypp-plugin
#
-# Copyright (c) 2011-2012 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
@@ -11,55 +11,78 @@
# 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/
#
-Name: zypp-plugin
-Version: 0.5
-Release: 0
-Group: System/Packages
-License: GPL-2.0
-Url: https://gitorious.org/opensuse/zypp-plugin
-Summary: Helper that makes writing ZYpp plugins easier
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: %{name}-%{version}.tar.bz2
-# Actually libzypp(plugin) should be required. Unfortunately the corresponing
-# provides was introduced to late for SUSE Manager/SLE-11-SP1. We do not want to
-# enforce libzypp update to satisfy this, so the Requires should saty disabled,
-# until libzypp on SUSE Manager/SLE-11-SP1 was updated and provides libzypp(plugin).
-#Requires: libzypp(plugin)
-BuildRequires: python-devel
-Requires: python
+%if 0%{?suse_version} >= 1320
+%global build_py3 1
+%endif
-%{?!py_sitearch: %global py_sitearch %(python -c 'from distutils.sysconfig import get_python_lib; print get_python_lib(True)')}
+Name: zypp-plugin
+Version: 0.6.1
+Release: 0
+Url: https://gitorious.org/opensuse/zypp-plugin
+Summary: Helper that makes writing ZYpp plugins easier
+License: GPL-2.0
+Group: System/Packages
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Source0: %{name}-%{version}.tar.bz2
+%if 0%{?suse_version} >= 1210
+BuildArch: noarch
+%endif
%description
Empty main package. Helper for different languages reside in subpackages.
-%package python
-Group: System/Packages
-License: GPL-2.0
-Summary: Helper that makes writing ZYpp plugins in python easier
-
-%description python
-This API allows writing ZYpp plugins by just subclassing from a python class
-and implementing the commands you want to respond to as python methods.
-
%prep
%setup -q -n zypp-plugin
%build
%install
-%{__mkdir_p} %{buildroot}%{py_sitearch}
-%{__install} python/zypp_plugin.py %{buildroot}%{py_sitearch}/zypp_plugin.py
-%if 0%{?suse_version}
-pushd $RPM_BUILD_ROOT/%{python_sitearch}
-python %py_libdir/py_compile.py *.py
-python -O %py_libdir/py_compile.py *.py
-popd
+%{__mkdir_p} %{buildroot}%{python_sitelib}
+%{__install} python/zypp_plugin.py %{buildroot}%{python_sitelib}/zypp_plugin.py
+%py_compile -O %{buildroot}/%{python_sitelib}
+%if 0%{?build_py3}
+%{__mkdir_p} %{buildroot}%{python3_sitelib}
+%{__install} python/zypp_plugin.py %{buildroot}%{python3_sitelib}/zypp_plugin.py
+%py3_compile -O %{buildroot}/%{python3_sitelib}
%endif
+%if 0%{?build_py3}
+%package -n python3-%{name}
+Summary: Helper that makes writing ZYpp plugins in python easier
+Group: System/Packages
+Requires: python3
+BuildRequires: python3-devel
+
+%description -n python3-%{name}
+This API allows writing ZYpp plugins by just subclassing from a python class
+and implementing the commands you want to respond to as python methods.
+%endif
+
+%package python
+Summary: Helper that makes writing ZYpp plugins in python easier
+Group: System/Packages
+Provides: python2-%{name}
+BuildRequires: python-devel
+Requires: python
+
+%description python
+This API allows writing ZYpp plugins by just subclassing from a python class
+and implementing the commands you want to respond to as python methods.
+
%files python
%defattr(-,root,root)
%doc COPYING
-%{py_sitearch}/*
+%{python_sitelib}/*
+
+%if 0%{?build_py3}
+%files -n python3-%{name}
+%defattr(-,root,root)
+%doc COPYING
+%{python3_sitelib}/*
+%endif
+
+%changelog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zypp-plugin/python/zypp_plugin.py new/zypp-plugin/python/zypp_plugin.py
--- old/zypp-plugin/python/zypp_plugin.py 2015-04-28 16:34:26.000000000 +0200
+++ new/zypp-plugin/python/zypp_plugin.py 2017-10-26 17:24:36.000000000 +0200
@@ -98,8 +98,8 @@
self.answer( "ERROR", headers, body )
def _DISCONNECT(self, headers, body):
- sys.stdin.close()
- self.ack( {'exit':'0'}, 'Disconnect' )
+ sys.stdin.close()
+ self.ack( {'exit':'0'}, 'Disconnect' )
def current_frame(self):
return self.framestack[len(self.framestack) - 1]
@@ -109,12 +109,12 @@
if frame:
self.state = "START"
self.framestack = []
- try:
- method = getattr(self, frame.command)
- except:
- self.answer( "_ENOMETHOD", { "Command":frame.command } )
- else:
- method(frame.headers, frame.body)
+ try:
+ method = getattr(self, frame.command)
+ except:
+ self.answer( "_ENOMETHOD", { "Command":frame.command } )
+ else:
+ method(frame.headers, frame.body)
def main(self):
for line in iter(sys.stdin.readline, ''):
@@ -133,18 +133,18 @@
result = re.match("(\w+)\:\s*(.+)", line)
if line == "":
self.state = "BODY"
- #print "wating for body"
+ #print( "wating for body" )
while 1:
c = sys.stdin.read(1)
if c == chr(0):
- #print "got it"
+ #print( "got it" )
break
else:
- #print "no"
+ #print( "no" )
self.current_frame().body = self.current_frame().body + c
self.__collect_frame()
if ( sys.stdin.closed ):
- break
+ break
continue
elif result:
1
0
Hello community,
here is the log from the commit of package hwinfo for openSUSE:Factory checked in at 2017-10-28 14:21:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hwinfo (Old)
and /work/SRC/openSUSE:Factory/.hwinfo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hwinfo"
Sat Oct 28 14:21:12 2017 rev:156 rq:536908 version:21.50
Changes:
--------
--- /work/SRC/openSUSE:Factory/hwinfo/hwinfo.changes 2017-09-13 21:36:20.203528842 +0200
+++ /work/SRC/openSUSE:Factory/.hwinfo.new/hwinfo.changes 2017-10-28 14:21:13.192570896 +0200
@@ -1,0 +2,7 @@
+Thu Oct 26 14:22:24 UTC 2017 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/hwinfo#54
+- support SMBIOS 3.0 spec (bsc#1062562)
+- 21.50
+
+--------------------------------------------------------------------
Old:
----
hwinfo-21.49.tar.xz
New:
----
hwinfo-21.50.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hwinfo.spec ++++++
--- /var/tmp/diff_new_pack.5crT6X/_old 2017-10-28 14:21:14.368527904 +0200
+++ /var/tmp/diff_new_pack.5crT6X/_new 2017-10-28 14:21:14.372527757 +0200
@@ -36,7 +36,7 @@
License: GPL-2.0+
Group: Hardware/Other
Url: http://gitorious.org/opensuse/hwinfo
-Version: 21.49
+Version: 21.50
Release: 0
Source: %{name}-%{version}.tar.xz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ hwinfo-21.49.tar.xz -> hwinfo-21.50.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.49/VERSION new/hwinfo-21.50/VERSION
--- old/hwinfo-21.49/VERSION 2017-09-12 10:48:46.000000000 +0200
+++ new/hwinfo-21.50/VERSION 2017-10-26 16:22:24.000000000 +0200
@@ -1 +1 @@
-21.49
+21.50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.49/changelog new/hwinfo-21.50/changelog
--- old/hwinfo-21.49/changelog 2017-09-12 10:48:46.000000000 +0200
+++ new/hwinfo-21.50/changelog 2017-10-26 16:22:24.000000000 +0200
@@ -1,3 +1,6 @@
+2017-10-26: 21.50
+ - support SMBIOS 3.0 spec (bsc #1062562)
+
2017-06-21: 21.49
- Ensure /var/lib/hardware/udi exists and with 755 permissions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.49/src/hd/bios.c new/hwinfo-21.50/src/hd/bios.c
--- old/hwinfo-21.49/src/hd/bios.c 2017-09-12 10:48:46.000000000 +0200
+++ new/hwinfo-21.50/src/hd/bios.c 2017-10-26 16:22:24.000000000 +0200
@@ -610,7 +610,8 @@
void smbios_get_info(hd_data_t *hd_data, memory_range_t *mem, bios_info_t *bt)
{
unsigned u, u1, u2, ok, hlen = 0, ofs;
- unsigned addr = 0, len = 0, scnt;
+ uint64_t addr = 0;
+ unsigned len = 0, scnt;
unsigned structs = 0, type, slen;
unsigned use_sysfs = 0;
char *s;
@@ -657,6 +658,18 @@
if(!mem->data || mem->size < 0x10) return;
for(u = ok = 0; u <= mem->size - 0x10; u += 0x10) {
+ if(memcmp(mem->data + u, "_SM3_", 5) == 0) {
+ hlen = mem->data[u + 6];
+ if(hlen < 0x18 || u + hlen > mem->size) continue;
+ addr = *(uint64_t *) (mem->data + u + 0x10);
+ len = *(unsigned *) (mem->data + u + 0x0c); /* Maximum length */
+ structs = 0; /* Unknown */
+ ok = crc(mem->data + u, hlen) == 0 && len;
+ if(ok) {
+ bt->smbios_ver = (mem->data[u + 7] << 8) + mem->data[u + 8];
+ break;
+ }
+ }
if(*(unsigned *) (mem->data + u) == 0x5f4d535f) { /* "_SM_" */
hlen = mem->data[u + 5];
if(hlen < 0x1e || u + hlen > mem->size) continue;
@@ -687,7 +700,11 @@
hd_data->smbios = smbios_free(hd_data->smbios);
- ADD2LOG(" Found DMI table at 0x%08x (0x%04x bytes)\n", addr, len);
+ // Starting with SMBIOS 3.0, exact table length is not known
+ ADD2LOG(
+ " Found DMI table at 0x%08llx (0x%04x bytes%s)\n",
+ (unsigned long long) addr, len, structs ? "" : " max"
+ );
memory.start = mem->start + u;
memory.size = hlen;
@@ -695,6 +712,10 @@
if(!use_sysfs) dump_memory(hd_data, &memory, 0, "SMBIOS Entry Point");
memory.data = NULL;
+ /*
+ * Note: memory.start is only 32 bit but this will only matter if we have
+ * to read the memory ourself and not via /sys/firmware/dmi/tables.
+ */
memory.start = addr;
if(use_sysfs) {
@@ -705,7 +726,8 @@
memory.data = new_mem(memory.size);
memcpy(memory.data, buf, memory.size);
ADD2LOG(" Got DMI table from sysfs (0x%04x bytes)\n", memory.size);
- if(memory.size != len) {
+ // Starting with SMBIOS 3.0, exact table length is not known
+ if(structs && memory.size != len) {
ADD2LOG(" Oops: DMI table size mismatch; expected 0x%04x bytes!\n", len);
}
}
@@ -717,16 +739,17 @@
}
if(len >= 0x4000) {
+ // Starting with SMBIOS 3.0, exact table length is not known
ADD2LOG(
- " SMBIOS Structure Table at 0x%05x (size 0x%x)\n",
- addr, len
+ " SMBIOS Structure Table at 0x%08llx (%ssize 0x%x)\n",
+ (unsigned long long) addr, structs ? "" : "maximum ", len
);
}
else {
dump_memory(hd_data, &memory, 0, "SMBIOS Structure Table");
}
- for(type = 0, u = 0, ofs = 0; u < structs && ofs + 3 < len; u++) {
+ for(type = 0, u = 0, ofs = 0; (!structs || u < structs) && ofs + 3 < len; u++) {
type = memory.data[ofs];
slen = memory.data[ofs + 1];
if(ofs + slen > len || slen < 4) break;
@@ -764,7 +787,8 @@
}
}
- if(u != structs) {
+ // Starting with SMBIOS 3.0, structure count is not announced
+ if(structs && u != structs) {
if(type == sm_end) {
ADD2LOG(" smbios: stopped at end tag\n");
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.49/src/hd/hd.h new/hwinfo-21.50/src/hd/hd.h
--- old/hwinfo-21.49/src/hd/hd.h 2017-09-12 10:48:46.000000000 +0200
+++ new/hwinfo-21.50/src/hd/hd.h 2017-10-26 16:22:24.000000000 +0200
@@ -20,7 +20,7 @@
/** Interface version */
#define HD_VERSION 21
-#define HD_MINOR_VERSION 49
+#define HD_MINOR_VERSION 50
#define HD_FULL_VERSION (HD_VERSION * 1000 + HD_MINOR_VERSION)
/**
1
0
Hello community,
here is the log from the commit of package perl-Mojolicious for openSUSE:Factory checked in at 2017-10-28 14:21:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojolicious.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious"
Sat Oct 28 14:21:06 2017 rev:79 rq:536880 version:7.48
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious/perl-Mojolicious.changes 2017-10-23 16:36:26.076020924 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious.new/perl-Mojolicious.changes 2017-10-28 14:21:08.132755885 +0200
@@ -1,0 +2,10 @@
+Sun Oct 22 05:33:51 UTC 2017 - coolo(a)suse.com
+
+- updated to 7.48
+ see /usr/share/doc/packages/perl-Mojolicious/Changes
+
+ 7.48 2017-10-19
+ - Reverted previous Mojo::File change since there were too many unintended
+ side effects.
+
+-------------------------------------------------------------------
Old:
----
Mojolicious-7.47.tar.gz
New:
----
Mojolicious-7.48.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojolicious.spec ++++++
--- /var/tmp/diff_new_pack.AWncwV/_old 2017-10-28 14:21:09.532704702 +0200
+++ /var/tmp/diff_new_pack.AWncwV/_new 2017-10-28 14:21:09.532704702 +0200
@@ -17,7 +17,7 @@
Name: perl-Mojolicious
-Version: 7.47
+Version: 7.48
Release: 0
%define cpan_name Mojolicious
Summary: Real-time web framework
++++++ Mojolicious-7.47.tar.gz -> Mojolicious-7.48.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.47/Changes new/Mojolicious-7.48/Changes
--- old/Mojolicious-7.47/Changes 2017-10-06 00:58:29.000000000 +0200
+++ new/Mojolicious-7.48/Changes 2017-10-19 14:39:10.000000000 +0200
@@ -1,4 +1,8 @@
+7.48 2017-10-19
+ - Reverted previous Mojo::File change since there were too many unintended
+ side effects.
+
7.47 2017-10-05
- Added multipart content generator to Mojo::UserAgent::Transactor.
- Fixed a bug in Mojo::File where parts of a path could get accidentally
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.47/META.json new/Mojolicious-7.48/META.json
--- old/Mojolicious-7.47/META.json 2017-10-12 10:25:37.000000000 +0200
+++ new/Mojolicious-7.48/META.json 2017-10-21 15:32:37.000000000 +0200
@@ -58,6 +58,6 @@
},
"x_IRC" : "irc://irc.perl.org/#mojo"
},
- "version" : "7.47",
+ "version" : "7.48",
"x_serialization_backend" : "JSON::PP version 2.94"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.47/META.yml new/Mojolicious-7.48/META.yml
--- old/Mojolicious-7.47/META.yml 2017-10-12 10:25:37.000000000 +0200
+++ new/Mojolicious-7.48/META.yml 2017-10-21 15:32:37.000000000 +0200
@@ -31,5 +31,5 @@
homepage: http://mojolicious.org
license: http://www.opensource.org/licenses/artistic-license-2.0
repository: https://github.com/kraih/mojo.git
-version: '7.47'
+version: '7.48'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.47/lib/Mojo/File.pm new/Mojolicious-7.48/lib/Mojo/File.pm
--- old/Mojolicious-7.47/lib/Mojo/File.pm 2017-10-05 19:35:11.000000000 +0200
+++ new/Mojolicious-7.48/lib/Mojo/File.pm 2017-10-19 14:37:34.000000000 +0200
@@ -78,10 +78,6 @@
sub new {
my $class = shift;
-
- # File systems require bytes, make sure we don't accidentally upgrade
- utf8::downgrade $_, 1 for @_;
-
my $value = @_ == 1 ? $_[0] : @_ > 1 ? catfile @_ : canonpath getcwd;
return bless \$value, ref $class || $class;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.47/lib/Mojolicious.pm new/Mojolicious-7.48/lib/Mojolicious.pm
--- old/Mojolicious-7.47/lib/Mojolicious.pm 2017-10-08 05:50:30.000000000 +0200
+++ new/Mojolicious-7.48/lib/Mojolicious.pm 2017-10-18 16:17:11.000000000 +0200
@@ -58,7 +58,7 @@
has validator => sub { Mojolicious::Validator->new };
our $CODENAME = 'Doughnut';
-our $VERSION = '7.47';
+our $VERSION = '7.48';
sub AUTOLOAD {
my $self = shift;
1
0
Hello community,
here is the log from the commit of package apr for openSUSE:Factory checked in at 2017-10-28 14:21:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apr (Old)
and /work/SRC/openSUSE:Factory/.apr.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apr"
Sat Oct 28 14:21:01 2017 rev:3 rq:536865 version:1.6.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/apr/apr.changes 2017-07-30 11:21:26.835619934 +0200
+++ /work/SRC/openSUSE:Factory/.apr.new/apr.changes 2017-10-28 14:21:00.825023060 +0200
@@ -1,0 +2,5 @@
+Mon Oct 16 14:36:10 UTC 2017 - mpluskal(a)suse.com
+
+- We need to obsolete same version of package (bsc#1063305)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apr.spec ++++++
--- /var/tmp/diff_new_pack.OQXFoi/_old 2017-10-28 14:21:01.588995128 +0200
+++ /var/tmp/diff_new_pack.OQXFoi/_new 2017-10-28 14:21:01.588995128 +0200
@@ -72,7 +72,7 @@
Group: Development/Libraries/C and C++
Requires: %{libname} = %{version}
Provides: %{libname}-devel = %{version}
-Obsoletes: %{libname}-devel < %{version}
+Obsoletes: %{libname}-devel < %{version}-%{release}
%description devel
APR is Apache's Portable Runtime Library, designed to be a support
1
0
Hello community,
here is the log from the commit of package apr-util for openSUSE:Factory checked in at 2017-10-28 14:20:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apr-util (Old)
and /work/SRC/openSUSE:Factory/.apr-util.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apr-util"
Sat Oct 28 14:20:55 2017 rev:3 rq:536864 version:1.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/apr-util/apr-util.changes 2017-08-12 19:39:20.326503076 +0200
+++ /work/SRC/openSUSE:Factory/.apr-util.new/apr-util.changes 2017-10-28 14:20:55.565215362 +0200
@@ -1,0 +2,5 @@
+Tue Oct 17 07:49:26 UTC 2017 - mpluskal(a)suse.com
+
+- We need to obsolete same version of package (bsc#1063305)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apr-util.spec ++++++
--- /var/tmp/diff_new_pack.0HKH0b/_old 2017-10-28 14:20:56.101195766 +0200
+++ /var/tmp/diff_new_pack.0HKH0b/_new 2017-10-28 14:20:56.105195620 +0200
@@ -65,7 +65,7 @@
License: Apache-2.0
Group: Development/Libraries/C and C++
Provides: %{libname}-devel = %{version}
-Obsoletes: %{libname}-devel = %{version}
+Obsoletes: %{libname}-devel < %{version}-%{release}
Requires: %{libname} = %{version}
Requires: apr-devel
Requires: db-devel
1
0
Hello community,
here is the log from the commit of package nghttp2 for openSUSE:Factory checked in at 2017-10-28 14:20:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nghttp2 (Old)
and /work/SRC/openSUSE:Factory/.nghttp2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nghttp2"
Sat Oct 28 14:20:49 2017 rev:46 rq:536838 version:1.27.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nghttp2/nghttp2.changes 2017-10-13 14:08:45.359571865 +0200
+++ /work/SRC/openSUSE:Factory/.nghttp2.new/nghttp2.changes 2017-10-28 14:20:51.485364525 +0200
@@ -1,0 +2,14 @@
+Thu Oct 26 10:28:19 UTC 2017 - mpluskal(a)suse.com
+
+- Update to version 1.27.0:
+ * h2load: Print out h2 header fields with --verbose option
+ * nghttpx: Send non-final response to HTTP/1.1 or HTTP/2 client
+ only
+- Changes for version 1.26.0:
+ * docs: Fix some typos in the nghttpx how-to
+ * h2load: Fix bug that timing script stalls with -m1
+ * h2load: Reservoir sampling (GH-984)
+ * h2load: Add timing-based load-testing in h2load
+- Switch to python3 support
+
+-------------------------------------------------------------------
Old:
----
nghttp2-1.25.0.tar.xz
New:
----
nghttp2-1.27.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nghttp2.spec ++++++
--- /var/tmp/diff_new_pack.O9xmAf/_old 2017-10-28 14:20:52.177339226 +0200
+++ /var/tmp/diff_new_pack.O9xmAf/_new 2017-10-28 14:20:52.181339080 +0200
@@ -21,7 +21,7 @@
%define soname_asio libnghttp2_asio
%define sover_asio 1
Name: nghttp2
-Version: 1.25.0
+Version: 1.27.0
Release: 0
Summary: Implementation of Hypertext Transfer Protocol version 2 in C
License: MIT
@@ -36,8 +36,9 @@
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: pkgconfig
-BuildRequires: python-Cython
-BuildRequires: python-setuptools
+BuildRequires: python3-devel
+BuildRequires: python3-Cython
+BuildRequires: python3-setuptools
BuildRequires: pkgconfig(cunit)
BuildRequires: pkgconfig(jansson)
%ifnarch ppc %arm
@@ -61,10 +62,9 @@
%description
This is an implementation of Hypertext Transfer Protocol version 2.
-The framing layer of HTTP/2 is implemented as a form of reusable C
-library. On top of that, we have implemented HTTP/2 client, server
-and proxy. We have also developed load test and benchmarking tool
-for HTTP/2.
+The framing layer of HTTP/2 is implemented as a form of reusable C library.
+On top of that, we have implemented HTTP/2 client, server and proxy. We
+have also developed load test and benchmarking tool for HTTP/2.
HPACK encoder and decoder are available as public API.
@@ -73,26 +73,24 @@
Group: System/Libraries
%description -n %{soname}-%{sover}
-Shared C libraries for implementation of
-Hypertext Transfer Protocol version 2.
+Shared C libraries for implementation of Hypertext Transfer Protocol
+version 2.
%package -n %{soname_asio}%{sover_asio}
Summary: Shared library for nghttp2
Group: System/Libraries
%description -n %{soname_asio}%{sover_asio}
-Shared libraries for asynchronous implementation of
-Hypertext Transfer Protocol version 2.
+Shared libraries for asynchronous implementation of Hypertext Transfer
+Protocol version 2.
-%package -n python2-%{name}
-Summary: Python bindings for nghttp2
+%package -n python3-%{name}
+Summary: Python3 bindings for nghttp2
Group: Development/Libraries/Python
-Provides: python-%{name} = %{version}
-Obsoletes: python-%{name} < %{version}
-%description -n python2-%{name}
-Python bindings for implementation of
-Hypertext Transfer Protocol version 2.
+%description -n python3-%{name}
+Python bindings for implementation of Hypertext Transfer Protocol version
+2.
%package -n %{soname}-devel
Summary: Development files for nghttp2
@@ -136,13 +134,13 @@
make %{?_smp_mflags} all
pushd python
make %{?_smp_mflags} nghttp2.c
-python setup.py build
+python3 setup.py build
popd
%install
%make_install
pushd python
-python setup.py install --root=%{buildroot} --prefix=%{_prefix}
+python3 setup.py install --root=%{buildroot} --prefix=%{_prefix}
popd
find %{buildroot} -type f -name "*.la" -delete -print
@@ -180,9 +178,9 @@
%doc COPYING
%{_libdir}/%{soname_asio}.so.%{sover_asio}*
-%files -n python2-%{name}
-%{python_sitearch}/nghttp2.so
-%{python_sitearch}/python_nghttp2-*
+%files -n python3-%{name}
+%{python3_sitearch}/nghttp2.*.so
+%{python3_sitearch}/python_nghttp2-*
%files -n %{soname}-devel
%dir %{_includedir}/%{name}/
++++++ nghttp2-1.25.0.tar.xz -> nghttp2-1.27.0.tar.xz ++++++
++++ 3566 lines of diff (skipped)
1
0