1
0
Alexei Sorokin 2016-10-05 20:40:33 +00:00 committed by Git OBS Bridge
parent 6d47531ac1
commit 8c35511a77
3 changed files with 339 additions and 26 deletions

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Wed Oct 5 19:37:54 UTC 2016 - sor.alexei@meowr.ru
- Add nemo-gtkhash_mbedtls-2.x.patch: Add mbed TLS 2.x+ support.
- Enable gcrypt in nemo-gtkhash for openSUSE Leap 42.x.
- Separate locales into nemo-extension-compare-lang,
nemo-extension-emblems-lang, nemo-extension-gtkhash-lang,
nemo-extension-image-converter-lang, nemo-extension-preview-lang,
nemo-extension-pastebin-lang, nemo-extension-repairer-lang,
nemo-extension-seahorse-lang, nemo-extension-share-lang.
------------------------------------------------------------------- -------------------------------------------------------------------
Wed May 4 16:34:01 UTC 2016 - sor.alexei@meowr.ru Wed May 4 16:34:01 UTC 2016 - sor.alexei@meowr.ru
@ -69,4 +80,3 @@ Mon Oct 28 08:55:22 UTC 2013 - i@marguerite.su
- initial version 2.0.0 - initial version 2.0.0
* a meta package * a meta package

View File

@ -34,6 +34,8 @@ Patch1: nemo-terminal_vte-2.91.patch
Patch2: nemo-seahorse_no-nautilus-conflicts.patch Patch2: nemo-seahorse_no-nautilus-conflicts.patch
# PATCH-FIX-OPENSUSE nemo-dropbox_no-dropbox-bin.patch sor.alexei@meowr.ru -- Strip dropbox binary installation. # PATCH-FIX-OPENSUSE nemo-dropbox_no-dropbox-bin.patch sor.alexei@meowr.ru -- Strip dropbox binary installation.
Patch3: nemo-dropbox_no-dropbox-bin.patch Patch3: nemo-dropbox_no-dropbox-bin.patch
# PATCH-FIX-OPENSUSE nemo-gtkhash_mbedtls-2.x.patch sor.alexei@meowr.ru -- Add mbed TLS 2.x+ support.
Patch4: nemo-gtkhash_mbedtls-2.x.patch
BuildRequires: docutils BuildRequires: docutils
BuildRequires: gettext-runtime BuildRequires: gettext-runtime
BuildRequires: gnome-common BuildRequires: gnome-common
@ -45,7 +47,7 @@ BuildRequires: meld
BuildRequires: mhash-devel BuildRequires: mhash-devel
BuildRequires: nemo-devel BuildRequires: nemo-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: pkg-config BuildRequires: pkgconfig
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: python-distutils-extra BuildRequires: python-distutils-extra
BuildRequires: python-gtk-devel BuildRequires: python-gtk-devel
@ -69,7 +71,7 @@ BuildRequires: pkgconfig(nettle)
BuildRequires: pkgconfig(nss) BuildRequires: pkgconfig(nss)
BuildRequires: pkgconfig(pygobject-3.0) BuildRequires: pkgconfig(pygobject-3.0)
BuildRequires: pkgconfig(webkitgtk-3.0) BuildRequires: pkgconfig(webkitgtk-3.0)
%if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?is_opensuse}) %if 0%{?suse_version} > 1320 || (0%{?sle_version} >= 120100 && 0%{?is_opensuse})
BuildRequires: mbedtls-devel BuildRequires: mbedtls-devel
%endif %endif
@ -124,6 +126,8 @@ do the comparison and provides "Compare", "Compare to ~/foo/bar" and
you can choose your favourite compare tool for one-on-one, you can choose your favourite compare tool for one-on-one,
three-way and multi-compare situations. three-way and multi-compare situations.
%lang_package -n nemo-extension-compare
%package -n nemo-extension-dropbox %package -n nemo-extension-dropbox
Summary: DropBox support for the Nemo Filemanager Summary: DropBox support for the Nemo Filemanager
License: GPL-3.0+ License: GPL-3.0+
@ -156,6 +160,8 @@ Requires: python-gobject-Gdk
Change a directory or a file emblem in Nemo, the Cinnamon desktop Change a directory or a file emblem in Nemo, the Cinnamon desktop
file manager. file manager.
%lang_package -n nemo-extension-emblems
%package -n nemo-extension-fileroller %package -n nemo-extension-fileroller
Summary: Fileroller support for the Nemo Filemanager Summary: Fileroller support for the Nemo Filemanager
License: GPL-3.0+ License: GPL-3.0+
@ -186,6 +192,8 @@ message digests or checksums using the mhash library.
Currently supported hash functions include MD5, MD6, SHA1, SHA256, Currently supported hash functions include MD5, MD6, SHA1, SHA256,
SHA512, RIPEMD, TIGER and WHIRLPOOL. SHA512, RIPEMD, TIGER and WHIRLPOOL.
%lang_package -n nemo-extension-gtkhash
%package -n nemo-extension-image-converter %package -n nemo-extension-image-converter
Summary: Nemo extension to mass resize or rotate images Summary: Nemo extension to mass resize or rotate images
License: GPL-2.0+ License: GPL-2.0+
@ -202,6 +210,8 @@ menu of all images. This opens a dialog where you set the desired
image size and file name. A click on "Resize" finally resizes the image size and file name. A click on "Resize" finally resizes the
image(s) using ImageMagick's convert tool. image(s) using ImageMagick's convert tool.
%lang_package -n nemo-extension-image-converter
%package -n nemo-extension-pastebin %package -n nemo-extension-pastebin
Summary: Pastebin extension for Nemo file manager Summary: Pastebin extension for Nemo file manager
License: GPL-2.0+ License: GPL-2.0+
@ -222,6 +232,8 @@ Requires: python-gobject-Gdk
nemo-pastebin is an extension for the Nemo file manager, which nemo-pastebin is an extension for the Nemo file manager, which
allows users to send files to pastebins just a right-click away. allows users to send files to pastebins just a right-click away.
%lang_package -n nemo-extension-pastebin
%package -n nemo-extension-preview %package -n nemo-extension-preview
Summary: A quick previewer for Nemo file manager Summary: A quick previewer for Nemo file manager
License: GPL-2.0+ License: GPL-2.0+
@ -237,6 +249,8 @@ Provides: nemo-preview = %{version}
This is NemoPreview, a quick previewer for Nemo, the Cinnamon This is NemoPreview, a quick previewer for Nemo, the Cinnamon
desktop file manager. desktop file manager.
%lang_package -n nemo-extension-preview
%package -n nemo-extension-rabbitvcs %package -n nemo-extension-rabbitvcs
Summary: RabbitVCS extension for Nemo file manager Summary: RabbitVCS extension for Nemo file manager
License: GPL-3.0+ License: GPL-3.0+
@ -268,6 +282,8 @@ encoding in Nemo. This extension provides the context menu for any
file whose filename uses wrong encoding, so that you cannot read the file whose filename uses wrong encoding, so that you cannot read the
filename in Nemo. filename in Nemo.
%lang_package -n nemo-extension-repairer
You can find a candidate for filename in context menu or submenu. You can find a candidate for filename in context menu or submenu.
This extension also provides a decoded name for URL encoded filename. This extension also provides a decoded name for URL encoded filename.
@ -284,7 +300,9 @@ Obsoletes: nemo-seahorse < %{version}
%description -n nemo-extension-seahorse %description -n nemo-extension-seahorse
seahorse nemo is an extension for nemo which allows encryption seahorse nemo is an extension for nemo which allows encryption
and decryption of OpenPGP files using GnuPG and decryption of OpenPGP files using GnuPG.
%lang_package -n nemo-extension-seahorse
%package -n nemo-extension-share %package -n nemo-extension-share
Summary: Samba share extension for Nemo file manager Summary: Samba share extension for Nemo file manager
@ -301,6 +319,8 @@ Obsoletes: nemo-share < %{version}
Nemo Share allows you to quickly share a folder from the Cinnamon Nemo Share allows you to quickly share a folder from the Cinnamon
Nemo file manager without requiring root access. Nemo file manager without requiring root access.
%lang_package -n nemo-extension-share
%package -n nemo-extension-terminal %package -n nemo-extension-terminal
Summary: Nemo extension to enable an embedded terminal Summary: Nemo extension to enable an embedded terminal
License: GPL-3.0+ License: GPL-3.0+
@ -328,6 +348,7 @@ directory in Nemo.
%patch1 %patch1
%patch2 %patch2
%patch3 %patch3
%patch4
# Remove spurious executable permission. # Remove spurious executable permission.
chmod a-x nemo-audio-tab/COPYING.GPL3 nemo-emblems/COPYING.GPL3 chmod a-x nemo-audio-tab/COPYING.GPL3 nemo-emblems/COPYING.GPL3
@ -339,7 +360,7 @@ find . -type d -maxdepth 1 -mindepth 1 | while read dir; do
%configure \ %configure \
--disable-static --disable-static
fi fi
[ -f Makefile ] && make %{?_smp_mflags} [ -f Makefile ] && make %{?_smp_mflags} V=1
[ -f setup.py ] && ./setup.py build [ -f setup.py ] && ./setup.py build
popd popd
done done
@ -350,19 +371,19 @@ pushd nemo-gtkhash
--disable-static \ --disable-static \
--enable-linux-crypto \ --enable-linux-crypto \
--enable-libcrypto \ --enable-libcrypto \
%if 0%{?suse_version} >= 1320 %if 0%{?suse_version} >= 1320 || (0%{?sle_version} >= 120100 && 0%{?is_opensuse})
--enable-gcrypt \ --enable-gcrypt \
%else %else
--disable-gcrypt \ --disable-gcrypt \
%endif %endif
%if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?is_opensuse}) %if 0%{?suse_version} > 1320 || (0%{?sle_version} >= 120100 && 0%{?is_opensuse})
--enable-polarssl \ --enable-polarssl \
%endif %endif
--enable-nettle \ --enable-nettle \
--enable-nss \ --enable-nss \
--enable-mhash \ --enable-mhash \
--enable-nemo --enable-nemo
make %{?_smp_mflags} make %{?_smp_mflags} V=1
popd popd
%install %install
@ -376,23 +397,23 @@ find . -type d -maxdepth 1 -mindepth 1 | while read dir; do
done done
# For nemo-extension-audio-tab. # For nemo-extension-audio-tab.
install -Dm 0644 nemo-audio-tab/nemo-extension/nemo-audio-tab.py \ install -Dpm 0644 nemo-audio-tab/nemo-extension/nemo-audio-tab.py \
%{buildroot}%{_datadir}/nemo-python/extensions/nemo-audio-tab.py %{buildroot}%{_datadir}/nemo-python/extensions/nemo-audio-tab.py
install -Dm 0755 nemo-audio-tab/nemo-extension/nemo-audio-tab.glade \ install -Dpm 0755 nemo-audio-tab/nemo-extension/nemo-audio-tab.glade \
%{buildroot}%{_datadir}/nemo-python/extensions/nemo-audio-tab.glade %{buildroot}%{_datadir}/nemo-python/extensions/nemo-audio-tab.glade
# For nemo-extension-compare. # For nemo-extension-compare.
# "gtk-preferences icon isn't in hicolor-icon-theme, why not Meld? # "gtk-preferences icon isn't in hicolor-icon-theme, why not Meld?
sed -i 's/^\(Icon=\).*$/\1meld/' nemo-compare/data/nemo-compare-preferences.desktop sed -i 's/^\(Icon=\).*$/\1meld/' nemo-compare/data/nemo-compare-preferences.desktop
install -Dm 0755 nemo-compare/data/nemo-compare-preferences.desktop \ install -Dpm 0755 nemo-compare/data/nemo-compare-preferences.desktop \
%{buildroot}%{_datadir}/applications/nemo-compare-preferences.desktop %{buildroot}%{_datadir}/applications/nemo-compare-preferences.desktop
install -Dm 0755 nemo-compare/src/nemo-compare.py \ install -Dpm 0755 nemo-compare/src/nemo-compare.py \
%{buildroot}%{_datadir}/nemo-compare/nemo-compare.py %{buildroot}%{_datadir}/nemo-compare/nemo-compare.py
install -Dm 0755 nemo-compare/src/utils.py %{buildroot}%{_datadir}/nemo-compare/utils.py install -Dpm 0755 nemo-compare/src/utils.py %{buildroot}%{_datadir}/nemo-compare/utils.py
install -Dm 0755 nemo-compare/src/nemo-compare-preferences.py \ install -Dpm 0755 nemo-compare/src/nemo-compare-preferences.py \
%{buildroot}%{_datadir}/nemo-compare/nemo-compare-preferences.py %{buildroot}%{_datadir}/nemo-compare/nemo-compare-preferences.py
install -Dm 0644 nemo-compare/debian/nemo-compare-preferences.1 \ install -Dpm 0644 nemo-compare/debian/nemo-compare-preferences.1 \
%{buildroot}%{_mandir}/man1/nemo-compare-preferences.1 %{buildroot}%{_mandir}/man1/nemo-compare-preferences.1
mkdir -p %{buildroot}%{_bindir}/ %{buildroot}%{_datadir}/nemo-python/ mkdir -p %{buildroot}%{_bindir}/ %{buildroot}%{_datadir}/nemo-python/
@ -418,13 +439,13 @@ mkdir -p %{buildroot}%{_docdir}/
mv -f %{buildroot}%{_datadir}/doc/nemo-python/ %{buildroot}%{_docdir}/nemo-python/ mv -f %{buildroot}%{_datadir}/doc/nemo-python/ %{buildroot}%{_docdir}/nemo-python/
# For nemo-extension-rabbitvcs. # For nemo-extension-rabbitvcs.
install -Dm 0644 nemo-rabbitvcs/RabbitVCS.py \ install -Dpm 0644 nemo-rabbitvcs/RabbitVCS.py \
%{buildroot}%{_datadir}/nemo-python/extensions/RabbitVCS.py %{buildroot}%{_datadir}/nemo-python/extensions/RabbitVCS.py
# For nemo-extension-terminal. # For nemo-extension-terminal.
pushd nemo-terminal pushd nemo-terminal
mkdir -p %{buildroot}%{_datadir}/nemo-terminal/ mkdir -p %{buildroot}%{_datadir}/nemo-terminal/
install -Dm 0755 src/nemo_terminal.py \ install -Dpm 0755 src/nemo_terminal.py \
%{buildroot}%{_datadir}/nemo-python/extensions/nemo_terminal.py %{buildroot}%{_datadir}/nemo-python/extensions/nemo_terminal.py
cp -a src/*.xml %{buildroot}%{_datadir}/glib-2.0/schemas/ cp -a src/*.xml %{buildroot}%{_datadir}/glib-2.0/schemas/
cp -a pixmap/*.png %{buildroot}%{_datadir}/nemo-terminal/ cp -a pixmap/*.png %{buildroot}%{_datadir}/nemo-terminal/
@ -508,7 +529,7 @@ find %{buildroot} -type f -name "*.la" -delete -print
%{_datadir}/nemo-python/extensions/nemo-audio-tab.* %{_datadir}/nemo-python/extensions/nemo-audio-tab.*
%{python_sitelib}/nemo_audio_tab-* %{python_sitelib}/nemo_audio_tab-*
%files -n nemo-extension-compare -f nemo-compare.lang %files -n nemo-extension-compare
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-compare/nemo-compare/COPYING* nemo-compare/debian/changelog %doc nemo-compare/nemo-compare/COPYING* nemo-compare/debian/changelog
%{_bindir}/nemo-compare-preferences %{_bindir}/nemo-compare-preferences
@ -517,23 +538,29 @@ find %{buildroot} -type f -name "*.la" -delete -print
%{_datadir}/applications/nemo-compare-preferences.desktop %{_datadir}/applications/nemo-compare-preferences.desktop
%{_mandir}/man1/nemo-compare-preferences.1%{?ext_man} %{_mandir}/man1/nemo-compare-preferences.1%{?ext_man}
%files -n nemo-extension-compare-lang -f nemo-compare.lang
%defattr(-,root,root)
%files -n nemo-extension-dropbox %files -n nemo-extension-dropbox
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-dropbox/AUTHORS nemo-dropbox/COPYING nemo-dropbox/debian/changelog %doc nemo-dropbox/AUTHORS nemo-dropbox/COPYING nemo-dropbox/debian/changelog
%{_libdir}/nemo/extensions-3.0/libnemo-dropbox.so %{_libdir}/nemo/extensions-3.0/libnemo-dropbox.so
%files -n nemo-extension-emblems -f nemo-emblems.lang %files -n nemo-extension-emblems
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-emblems/COPYING* nemo-emblems/debian/changelog %doc nemo-emblems/COPYING* nemo-emblems/debian/changelog
%{_datadir}/nemo-python/extensions/nemo-emblems.py %{_datadir}/nemo-python/extensions/nemo-emblems.py
%{python_sitelib}/nemo_emblems-* %{python_sitelib}/nemo_emblems-*
%files -n nemo-extension-emblems-lang -f nemo-emblems.lang
%defattr(-,root,root)
%files -n nemo-extension-fileroller %files -n nemo-extension-fileroller
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-fileroller/COPYING nemo-fileroller/debian/changelog %doc nemo-fileroller/COPYING nemo-fileroller/debian/changelog
%{_libdir}/nemo/extensions-3.0/libnemo-fileroller.so %{_libdir}/nemo/extensions-3.0/libnemo-fileroller.so
%files -n nemo-extension-gtkhash -f nemo-gtkhash.lang %files -n nemo-extension-gtkhash
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-gtkhash/AUTHORS nemo-gtkhash/COPYING nemo-gtkhash/debian/changelog %doc nemo-gtkhash/AUTHORS nemo-gtkhash/COPYING nemo-gtkhash/debian/changelog
%{_bindir}/gtkhash %{_bindir}/gtkhash
@ -541,13 +568,19 @@ find %{buildroot} -type f -name "*.la" -delete -print
%{_datadir}/nemo-gtkhash/ %{_datadir}/nemo-gtkhash/
%{_datadir}/glib-2.0/schemas/*gtkhash*.gschema.xml %{_datadir}/glib-2.0/schemas/*gtkhash*.gschema.xml
%files -n nemo-extension-image-converter -f nemo-image-converter.lang %files -n nemo-extension-gtkhash-lang -f nemo-gtkhash.lang
%defattr(-,root,root)
%files -n nemo-extension-image-converter
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-image-converter/AUTHORS nemo-image-converter/COPYING nemo-image-converter/debian/changelog %doc nemo-image-converter/AUTHORS nemo-image-converter/COPYING nemo-image-converter/debian/changelog
%{_libdir}/nemo/extensions-3.0/libnemo-image-converter.so %{_libdir}/nemo/extensions-3.0/libnemo-image-converter.so
%{_datadir}/nemo-image-converter/ %{_datadir}/nemo-image-converter/
%files -n nemo-extension-pastebin -f nemo-pastebin.lang %files -n nemo-extension-image-converter-lang -f nemo-image-converter.lang
%defattr(-,root,root)
%files -n nemo-extension-pastebin
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-pastebin/COPYING nemo-pastebin/debian/changelog %doc nemo-pastebin/COPYING nemo-pastebin/debian/changelog
%{_bindir}/nemo-pastebin.py %{_bindir}/nemo-pastebin.py
@ -558,7 +591,10 @@ find %{buildroot} -type f -name "*.la" -delete -print
%{_datadir}/pixmaps/nemo-pastebin.* %{_datadir}/pixmaps/nemo-pastebin.*
%{_datadir}/glib-2.0/schemas/nemo-pastebin.gschema.xml %{_datadir}/glib-2.0/schemas/nemo-pastebin.gschema.xml
%files -n nemo-extension-preview -f nemo-preview.lang %files -n nemo-extension-pastebin-lang -f nemo-pastebin.lang
%defattr(-,root,root)
%files -n nemo-extension-preview
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-preview/AUTHORS nemo-preview/COPYING nemo-preview/debian/changelog %doc nemo-preview/AUTHORS nemo-preview/COPYING nemo-preview/debian/changelog
%{_bindir}/nemo-preview %{_bindir}/nemo-preview
@ -567,29 +603,41 @@ find %{buildroot} -type f -name "*.la" -delete -print
%{_datadir}/nemo-preview/ %{_datadir}/nemo-preview/
%{_datadir}/dbus-1/services/org.nemo.Preview.service %{_datadir}/dbus-1/services/org.nemo.Preview.service
%files -n nemo-extension-preview-lang -f nemo-preview.lang
%defattr(-,root,root)
%files -n nemo-extension-rabbitvcs %files -n nemo-extension-rabbitvcs
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-rabbitvcs/AUTHORS nemo-rabbitvcs/COPYING nemo-rabbitvcs/debian/changelog %doc nemo-rabbitvcs/AUTHORS nemo-rabbitvcs/COPYING nemo-rabbitvcs/debian/changelog
%{_datadir}/nemo-python/extensions/RabbitVCS.py %{_datadir}/nemo-python/extensions/RabbitVCS.py
%files -n nemo-extension-repairer -f nemo-filename-repairer.lang %files -n nemo-extension-repairer
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-repairer/AUTHORS nemo-repairer/COPYING nemo-repairer/COPYING nemo-repairer/README %doc nemo-repairer/AUTHORS nemo-repairer/COPYING nemo-repairer/COPYING nemo-repairer/README
%{_bindir}/nemo-filename-repairer %{_bindir}/nemo-filename-repairer
%{_libdir}/nemo/extensions-3.0/libnemo-filename-repairer.so %{_libdir}/nemo/extensions-3.0/libnemo-filename-repairer.so
%{_datadir}/nemo-filename-repairer/ %{_datadir}/nemo-filename-repairer/
%files -n nemo-extension-seahorse -f nemo-seahorse.lang %files -n nemo-extension-repairer-lang -f nemo-filename-repairer.lang
%defattr(-,root,root)
%files -n nemo-extension-seahorse
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-seahorse/COPYING nemo-seahorse/debian/changelog %doc nemo-seahorse/COPYING nemo-seahorse/debian/changelog
%{_libdir}/nemo/extensions-3.0/libnemo-seahorse.so %{_libdir}/nemo/extensions-3.0/libnemo-seahorse.so
%files -n nemo-extension-share -f nemo-share.lang %files -n nemo-extension-seahorse-lang -f nemo-seahorse.lang
%defattr(-,root,root)
%files -n nemo-extension-share
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-share/AUTHORS nemo-share/COPYING nemo-share/debian/changelog %doc nemo-share/AUTHORS nemo-share/COPYING nemo-share/debian/changelog
%{_libdir}/nemo/extensions-3.0/libnemo-share.so %{_libdir}/nemo/extensions-3.0/libnemo-share.so
%{_datadir}/nemo-share/ %{_datadir}/nemo-share/
%files -n nemo-extension-share-lang -f nemo-share.lang
%defattr(-,root,root)
%files -n nemo-extension-terminal %files -n nemo-extension-terminal
%defattr(-,root,root) %defattr(-,root,root)
%doc nemo-terminal/AUTHORS nemo-terminal/COPYING nemo-terminal/debian/changelog %doc nemo-terminal/AUTHORS nemo-terminal/COPYING nemo-terminal/debian/changelog

View File

@ -0,0 +1,255 @@
--- nemo-gtkhash.orig/configure.ac
+++ nemo-gtkhash/configure.ac
@@ -144,13 +144,25 @@ AC_ARG_ENABLE([polarssl],
AC_MSG_RESULT(["${enable_polarssl}"])
AM_CONDITIONAL([ENABLE_POLARSSL], [test "${enable_polarssl}" = "yes"])
AC_DEFINE([ENABLE_POLARSSL], [0], [Use PolarSSL])
+AC_DEFINE([HAVE_MBEDTLS_2_0_0], [1], [Have mbed TLS 2.x+])
if test "${enable_polarssl}" = "yes" ; then
- AC_CHECK_HEADER([polarssl/md.h], [:], [AC_MSG_ERROR([polarssl headers not found])])
- AC_CHECK_LIB([polarssl], [md_update], [:], [AC_MSG_ERROR([polarssl library not found])])
- POLARSSL_LIBS="-lpolarssl"
+ AC_CHECK_HEADER([mbedtls/md.h], [have_mbedtls_2_0_0="yes"], [have_mbedtls_2_0_0="no"])
+ AC_CHECK_HEADER([polarssl/md.h], [have_mbedtls_1_3_0="yes"], [have_mbedtls_1_3_0="no"])
+ if test "${have_mbedtls_2_0_0}" != "yes" && test "${have_mbedtls_1_3_0}" != "yes"; then
+ AC_MSG_ERROR([mbedtls headers not found])
+ fi
+ if test "${have_mbedtls_2_0_0}" = "yes"; then
+ AC_CHECK_LIB([mbedcrypto], [mbedtls_md_update], [:], [AC_MSG_ERROR([mbedtls library not found])])
+ POLARSSL_LIBS="-lmbedcrypto"
+ hash_libs="${hash_libs} mbedtls"
+ AC_DEFINE([HAVE_MBEDTLS_2_0_0], [1])
+ else
+ AC_CHECK_LIB([polarssl], [md_update], [:], [AC_MSG_ERROR([mbedtls library not found])])
+ POLARSSL_LIBS="-lpolarssl"
+ hash_libs="${hash_libs} polarssl"
+ fi
AC_SUBST([POLARSSL_LIBS])
- hash_libs="${hash_libs} polarssl"
AC_DEFINE([ENABLE_POLARSSL], [1])
fi
@@ -365,6 +377,7 @@ nss_funcs="
SHA1 SHA256 SHA384 SHA512"
polarssl_funcs="
MD2 MD4 MD5
+ RIPEMD160
SHA1 SHA224 SHA256 SHA384 SHA512"
zlib_funcs="
CRC32
--- nemo-gtkhash.orig/src/hash/hash-lib-polarssl.c
+++ nemo-gtkhash/src/hash/hash-lib-polarssl.c
@@ -25,7 +25,11 @@
#include <stdbool.h>
#include <stdint.h>
#include <glib.h>
+#ifdef HAVE_MBEDTLS_2_0_0
+#include <mbedtls/md.h>
+#else
#include <polarssl/md.h>
+#endif
#include "hash-lib-polarssl.h"
#include "hash-lib.h"
@@ -34,35 +38,83 @@
#define LIB_DATA ((struct hash_lib_polarssl_s *)func->lib_data)
struct hash_lib_polarssl_s {
+#ifdef HAVE_MBEDTLS_2_0_0
+ mbedtls_md_context_t ctx;
+#else
md_context_t ctx;
+#endif
};
-static bool gtkhash_hash_lib_polarssl_set_type(const enum hash_func_e id, md_type_t *type)
+static bool gtkhash_hash_lib_polarssl_set_type(const enum hash_func_e id,
+#ifdef HAVE_MBEDTLS_2_0_0
+ mbedtls_md_type_t *type)
+#else
+ md_type_t *type)
+#endif
{
switch (id) {
case HASH_FUNC_MD2:
+#ifdef HAVE_MBEDTLS_2_0_0
+ *type = MBEDTLS_MD_MD2;
+#else
*type = POLARSSL_MD_MD2;
+#endif
break;
case HASH_FUNC_MD4:
+#ifdef HAVE_MBEDTLS_2_0_0
+ *type = MBEDTLS_MD_MD4;
+#else
*type = POLARSSL_MD_MD4;
+#endif
break;
case HASH_FUNC_MD5:
+#ifdef HAVE_MBEDTLS_2_0_0
+ *type = MBEDTLS_MD_MD5;
+#else
*type = POLARSSL_MD_MD5;
+#endif
+ break;
+ case HASH_FUNC_RIPEMD160:
+#ifdef HAVE_MBEDTLS_2_0_0
+ *type = MBEDTLS_MD_RIPEMD160;
+#else
+ *type = POLARSSL_MD_RIPEMD160;
+#endif
break;
case HASH_FUNC_SHA1:
+#ifdef HAVE_MBEDTLS_2_0_0
+ *type = MBEDTLS_MD_SHA1;
+#else
*type = POLARSSL_MD_SHA1;
+#endif
break;
case HASH_FUNC_SHA224:
+#ifdef HAVE_MBEDTLS_2_0_0
+ *type = MBEDTLS_MD_SHA224;
+#else
*type = POLARSSL_MD_SHA224;
+#endif
break;
case HASH_FUNC_SHA256:
+#ifdef HAVE_MBEDTLS_2_0_0
+ *type = MBEDTLS_MD_SHA256;
+#else
*type = POLARSSL_MD_SHA256;
+#endif
break;
case HASH_FUNC_SHA384:
+#ifdef HAVE_MBEDTLS_2_0_0
+ *type = MBEDTLS_MD_SHA384;
+#else
*type = POLARSSL_MD_SHA384;
+#endif
break;
case HASH_FUNC_SHA512:
+#ifdef HAVE_MBEDTLS_2_0_0
+ *type = MBEDTLS_MD_SHA512;
+#else
*type = POLARSSL_MD_SHA512;
+#endif
break;
default:
return false;
@@ -71,14 +123,29 @@ static bool gtkhash_hash_lib_polarssl_se
return true;
}
+
bool gtkhash_hash_lib_polarssl_is_supported(const enum hash_func_e id)
{
- struct hash_lib_polarssl_s data;
+#ifdef HAVE_MBEDTLS_2_0_0
+ mbedtls_md_type_t type;
+#else
md_type_t type;
-
+#endif
if (!gtkhash_hash_lib_polarssl_set_type(id, &type))
return false;
+ struct hash_lib_polarssl_s data;
+#ifdef HAVE_MBEDTLS_2_0_0
+ mbedtls_md_init(&data.ctx);
+
+ const mbedtls_md_info_t *info = mbedtls_md_info_from_type(type);
+ if (mbedtls_md_setup(&data.ctx, info, 0) != 0) {
+ mbedtls_md_free(&data.ctx);
+ return false;
+ }
+
+ mbedtls_md_free(&data.ctx);
+#else
if (md_init_ctx(&data.ctx, md_info_from_type(type)) != 0)
return false;
@@ -86,6 +153,7 @@ bool gtkhash_hash_lib_polarssl_is_suppor
g_assert_not_reached();
return false;
}
+#endif
return true;
}
@@ -93,34 +161,67 @@ bool gtkhash_hash_lib_polarssl_is_suppor
void gtkhash_hash_lib_polarssl_start(struct hash_func_s *func)
{
func->lib_data = g_new(struct hash_lib_polarssl_s, 1);
+#ifdef HAVE_MBEDTLS_2_0_0
+ mbedtls_md_type_t type;
+#else
md_type_t type;
+#endif
if (!gtkhash_hash_lib_polarssl_set_type(func->id, &type))
g_assert_not_reached();
+#ifdef HAVE_MBEDTLS_2_0_0
+ mbedtls_md_init(&LIB_DATA->ctx);
+
+ const mbedtls_md_info_t *info = mbedtls_md_info_from_type(type);
+ if (mbedtls_md_setup(&LIB_DATA->ctx, info, 0) != 0)
+ g_assert_not_reached();
+
+ if (mbedtls_md_starts(&LIB_DATA->ctx) != 0)
+ g_assert_not_reached();
+
+#else
if (md_init_ctx(&LIB_DATA->ctx, md_info_from_type(type)) != 0)
g_assert_not_reached();
if (md_starts(&LIB_DATA->ctx) != 0)
g_assert_not_reached();
+#endif
}
void gtkhash_hash_lib_polarssl_update(struct hash_func_s *func,
const uint8_t *buffer, const size_t size)
{
+#ifdef HAVE_MBEDTLS_2_0_0
+ mbedtls_md_update(&LIB_DATA->ctx, buffer, size);
+#else
md_update(&LIB_DATA->ctx, buffer, size);
+#endif
}
void gtkhash_hash_lib_polarssl_stop(struct hash_func_s *func)
{
+#ifdef HAVE_MBEDTLS_2_0_0
+ mbedtls_md_free(&LIB_DATA->ctx);
+#else
if (md_free_ctx(&LIB_DATA->ctx) != 0)
g_assert_not_reached();
+#endif
g_free(LIB_DATA);
}
uint8_t *gtkhash_hash_lib_polarssl_finish(struct hash_func_s *func,
size_t *size)
{
+#ifdef HAVE_MBEDTLS_2_0_0
+ *size = mbedtls_md_get_size(LIB_DATA->ctx.md_info);
+ uint8_t *digest = g_malloc(*size);
+
+ if (mbedtls_md_finish(&LIB_DATA->ctx, digest) != 0)
+ g_assert_not_reached();
+
+ mbedtls_md_free(&LIB_DATA->ctx);
+#else
*size = LIB_DATA->ctx.md_info->size;
uint8_t *digest = g_malloc(*size);
@@ -129,6 +230,7 @@ uint8_t *gtkhash_hash_lib_polarssl_finis
if (md_free_ctx(&LIB_DATA->ctx) != 0)
g_assert_not_reached();
+#endif
g_free(LIB_DATA);
return digest;