commit 7f51379c70ec065a6f9d9f75caec63321a07b1c8
Author: Jakub Bogusz <[email protected]>
Date:   Sun Dec 7 18:06:46 2014 +0100

    - new

 skv-link.patch |  49 ++++++++
 skv.spec       | 177 +++++++++++++++++++++++++++++
 todonotes.sty  | 354 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 580 insertions(+)
---
diff --git a/skv.spec b/skv.spec
new file mode 100644
index 0000000..8d6e1f7
--- /dev/null
+++ b/skv.spec
@@ -0,0 +1,177 @@
+# TODO: use system *tex todonotes package (newer texlive?)
+#
+# Conditional build:
+%bcond_without apidocs         # LaTeX documentation
+%bcond_with    ibverbs         # use ibverbs (OFED) instead of sockets for 
communication
+%bcond_with    rocksdb         # use rocksdb as database backend
+#
+Summary:       Scalable Key/Value Store
+Summary(pl.UTF-8):     Scalable Key/Value Store - skalowalna baza klucz-wartość
+Name:          skv
+Version:       0.1.0
+%define        snap    20141120
+%define        gitrev  14cbb85
+Release:       0.%{snap}.1
+License:       Eclipse Public License v1.0
+Group:         Daemons
+Source0:       
https://github.com/Scalable-Key-Value/code/archive/%{gitrev}/%{name}-%{gitrev}.tar.gz
+# Source0-md5: 0ea9908ad80ae270238b65eca95da019
+Source1:       
https://github.com/Eyescale/CMake/archive/c13f465/Eyescale-CMake-c13f465.tar.gz
+# Source1-md5: 71df45dad1b0c62d6039655fe898ea26
+# generated from ftp://ftp.ctan.org/pub/tex/macros/latex2e/contrib/todonotes/
+Source2:       todonotes.sty
+Patch0:                %{name}-link.patch
+URL:           https://github.com/Scalable-Key-Value
+%{?with_rocksdb:BuildRequires: bzip2-devel}
+BuildRequires: cmake >= 2.8
+%{?with_ibverbs:BuildRequires: librdmacm-devel}
+BuildRequires: libstdc++-devel
+BuildRequires: mpi-devel
+%{?with_rocksdb:BuildRequires: rocksdb-devel}
+%{?with_apidocs:BuildRequires: texlive-format-pdflatex}
+%{?with_apidocs:BuildRequires: texlive-latex-pgf}
+%{?with_apidocs:BuildRequires: texlive-tex-xkeyval}
+%{?with_rocksdb:BuildRequires: zlib-devel}
+Requires:      %{name}-libs = %{version}-%{release}
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+SKV (Scalable Key-Value Store) is a parallel client, parallel server,
+key-value database system with basic function similar to BDB. SKV
+storage can be drawn from main memory of the node of the parallel
+machine or from a single-node key/value store that serves as a storage
+back-end for the distributed SKV.
+
+%description -l pl.UTF-8
+SKV (Scalable Key-Value Store - skalowalna baza klucz-wartość) to
+system baz danych klucz-wartość z równoległym klientem i równoległym
+serwerem o funkcjonalności zbliżonej do BDB. Dane SKV można pobierać z
+pamięci głównej węzła maszyny równoległej lub z danych klucz-wartość
+pojedynczego węzła, służących jako backend dla rozproszonego SKV.
+
+%package libs
+Summary:       Shared SKV libraries
+Summary(pl.UTF-8):     Biblioteki współdzielone SKV
+Group:         Libraries
+
+%description libs
+Shared SKV libraries.
+
+%description libs -l pl.UTF-8
+Biblioteki współdzielone SKV.
+
+%package devel
+Summary:       Header files for SKV library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki SKV
+Group:         Development/Libraries
+Requires:      %{name}-libs = %{version}-%{release}
+Requires:      libstdc++-devel
+
+%description devel
+Header files for SKV library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki SKV.
+
+%package apidocs
+Summary:       SKV API documentation
+Summary(pl.UTF-8):     Dokumentacja API biblioteki SKV
+Group:         Documentation
+
+%description apidocs
+API documentation for SKV library.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki SKV.
+
+%prep
+%setup -q -a1 -n code-14cbb85f056ae8eecb6936f1613233940dbf7963
+%patch0 -p1
+
+%{__mv} CMake-* CMake/common
+%{__rm} .gitexternals
+
+cp -p %{SOURCE2} doc/todonotes.sty
+
+%build
+install -d build
+cd build
+%cmake .. \
+       -DBUILDYARD_DISABLED=ON \
+       -DCOMMON_LIBRARY_TYPE=SHARED \
+       %{?with_ibverbs:-DSKV_COMM_API_TYPE=verbs} \
+%ifarch %{ix86} %{x8664}
+       -DSKV_ENV=x86 \
+%endif
+%ifarch ppc ppc64
+       -DSKV_ENV=BGAS \
+%endif
+       %{?with_rocksdb:-DSKV_LOCAL_KV_BACKEND=rocksdb}
+
+%{__make}
+cd ..
+
+%if %{with apidocs}
+%{__make} -C doc
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} -C build install \
+       DESTDIR=$RPM_BUILD_ROOT
+
+%{__mv} $RPM_BUILD_ROOT%{_prefix}/etc $RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc CHANGELOG LICENSE.txt README
+%attr(755,root,root) %{_bindir}/SKVServer
+%attr(755,root,root) %{_bindir}/skv_base_test
+%attr(755,root,root) %{_bindir}/skv_bench
+%attr(755,root,root) %{_bindir}/skv_test_bulk
+%attr(755,root,root) %{_bindir}/skv_test_insert_retrieve_async
+%attr(755,root,root) %{_bindir}/skv_test_insert_retrieve_sync
+%attr(755,root,root) %{_bindir}/test_skv_insert_command
+%attr(755,root,root) %{_bindir}/test_skv_remove_command
+%attr(755,root,root) %{_libdir}/libfxlogger.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfxlogger.so.1
+%attr(755,root,root) %{_libdir}/libit_api.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libit_api.so.1
+%attr(755,root,root) %{_libdir}/libskv_client.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libskv_client.so.1
+%attr(755,root,root) %{_libdir}/libskv_client_mpi.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libskv_client_mpi.so.1
+%attr(755,root,root) %{_libdir}/libskv_common.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libskv_common.so.1
+%attr(755,root,root) %{_libdir}/libskvc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libskvc.so.1
+%attr(755,root,root) %{_libdir}/libskvc_mpi.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libskvc_mpi.so.1
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/skv_server.conf
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libfxlogger.so
+%attr(755,root,root) %{_libdir}/libit_api.so
+%attr(755,root,root) %{_libdir}/libskv_client.so
+%attr(755,root,root) %{_libdir}/libskv_client_mpi.so
+%attr(755,root,root) %{_libdir}/libskv_common.so
+%attr(755,root,root) %{_libdir}/libskvc.so
+%attr(755,root,root) %{_libdir}/libskvc_mpi.so
+%{_includedir}/skv
+%{_pkgconfigdir}/skv.pc
+%dir %{_datadir}/skv
+%{_datadir}/skv/CMake
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%doc doc/skvdoc.pdf
+%endif
diff --git a/skv-link.patch b/skv-link.patch
new file mode 100644
index 0000000..1ec49c7
--- /dev/null
+++ b/skv-link.patch
@@ -0,0 +1,49 @@
+--- code-14cbb85f056ae8eecb6936f1613233940dbf7963/CMakeLists.txt.orig  
2014-11-20 00:12:07.000000000 +0100
++++ code-14cbb85f056ae8eecb6936f1613233940dbf7963/CMakeLists.txt       
2014-12-07 16:44:01.286219809 +0100
+@@ -83,7 +83,7 @@
+ 
+ if(SKV_COMM_API_TYPE MATCHES "verbs")
+   find_package(OFED REQUIRED)
+-  set( IT_API_LIBS ${OFED_LIBRARIES} pthread rt )
++  set( IT_API_LIBS ${OFED_LIBRARIES} pthread rt fxlogger )
+   add_definitions(
+     # enable workaround for missing RoQ loopback functionality
+     -DSKV_ROQ_LOOPBACK_WORKAROUND
+@@ -93,7 +93,7 @@
+     DESTINATION ${CMAKE_MODULE_INSTALL_PATH})
+ endif()
+ if(SKV_COMM_API_TYPE MATCHES "sockets")
+-  set( IT_API_LIBS pthread rt )
++  set( IT_API_LIBS pthread rt fxlogger )
+ endif()
+ 
+ 
+--- code-14cbb85f056ae8eecb6936f1613233940dbf7963/skv/CMakeLists.txt.orig      
2014-11-20 00:12:07.000000000 +0100
++++ code-14cbb85f056ae8eecb6936f1613233940dbf7963/skv/CMakeLists.txt   
2014-12-07 16:46:51.636212660 +0100
+@@ -1,7 +1,9 @@
+ 
+ set(SKVC_SOURCES c/skv.cpp)
+ set(SKVC_PUBLIC_HEADERS c/skv.h)
++set(SKVC_LINK_LIBRARIES skv_client fxlogger)
+ set(SKVC_MPI_SOURCES ${SKVC_SOURCES})
++set(SKVC_MPI_LINK_LIBRARIES skv_client_mpi fxlogger)
+ 
+ set(SKV_COMMON_SOURCES
+   common/skv_config.cpp
+@@ -21,6 +23,7 @@
+   common/skv_types_ext.hpp
+   common/skv_mutex.hpp
+ )
++set(SKV_COMMON_LINK_LIBRARIES fxlogger)
+ 
+ set(SKV_CLIENT_SOURCES
+   client/skv_client.cpp
+@@ -54,7 +57,7 @@
+ set(SKV_CLIENT_LINK_LIBRARIES it_api fxlogger skv_common)
+ 
+ set(SKV_CLIENT_MPI_SOURCES ${SKV_CLIENT_SOURCES})
+-set(SKV_CLIENT_MPI_LINK_LIBRARIES ${SKV_CLIENT_LINK_LIBRARIES})
++set(SKV_CLIENT_MPI_LINK_LIBRARIES ${SKV_CLIENT_LINK_LIBRARIES} 
${MPI_LIBRARIES})
+ 
+ set(SKVSERVER_SOURCES
+   server/skv_local_kv_${SKV_LOCAL_KV_BACKEND}.cpp
diff --git a/todonotes.sty b/todonotes.sty
new file mode 100644
index 0000000..27d2319
--- /dev/null
+++ b/todonotes.sty
@@ -0,0 +1,354 @@
+%%
+%% This is file `todonotes.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% todonotes.dtx  (with options: `package')
+%% 
+%% This is a generated file.
+%% 
+%% Copyright (C) 2008 by Henrik Skov Midtiby <[email protected]>
+%% 
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 of this license
+%% or (at your option) any later version.  The latest version of this
+%% license is in:
+%% 
+%%    http://www.latex-project.org/lppl.txt
+%% 
+%% and version 1.2 or later is part of all distributions of LaTeX version
+%% 1999/12/01 or later.
+%% 
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{todonotes}
+    [2009/12/25 .dtx Todonotes source and documentation.]
+
+\ProvidesPackage{todonotes}[2009/04/02]
+\RequirePackage{ifthen}
+\RequirePackage{xkeyval}
+\RequirePackage{xcolor}
+\RequirePackage{tikz}
+\RequirePackage{calc}
+\newcommand{\@todonotes@text}{}%
+\newcommand{\@todonotes@backgroundcolor}{orange}
+\newcommand{\@todonotes@linecolor}{orange}
+\newcommand{\@todonotes@bordercolor}{black}
+\newcommand{\@todonotes@textwidth}{\marginparwidth}
+\newcommand{\@todonotes@textsize}{\normalsize}
+\newcommand{\@todonotes@figwidth}{\columnwidth}
+\AtBeginDocument{
+\ifx\undefined\phantomsection
+\newcommand{\phantomsection}{}
+\fi
+}
+
+\newcommand{\@todonotes@todolistname}{Todo list}
+\newcommand{\@todonotes@MissingFigureText}{Figure}
+\newcommand{\@todonotes@MissingFigureUp}{Missing}
+\newcommand{\@todonotes@MissingFigureDown}{figure}
+\newcommand{\@todonotes@SetTodoListName}[1]
+    {\renewcommand{\@todonotes@todolistname}{#1}}
+\newcommand{\@todonotes@SetMissingFigureText}[1]
+    {\renewcommand{\@todonotes@MissingFigureText}{#1}}
+\newcommand{\@todonotes@SetMissingFigureUp}[1]
+    {\renewcommand{\@todonotes@MissingFigureUp}{#1}}
+\newcommand{\@todonotes@SetMissingFigureDown}[1]
+    {\renewcommand{\@todonotes@MissingFigureDown}{#1}}
+\newif{\if@todonotes@reverseMissingFigureTriangle}
+\DeclareOptionX{catalan}{
+    \@todonotes@SetTodoListName{Llista de feines pendents}%
+    \@todonotes@SetMissingFigureText{Figura}%
+    \@todonotes@SetMissingFigureUp{Figura}%
+    \@todonotes@SetMissingFigureDown{pendent}%
+}
+\DeclareOptionX{danish}{%
+    \@todonotes@SetTodoListName{G\o{}rem\aa{}lsliste}%
+    \@todonotes@SetMissingFigureText{Figur}%
+    \@todonotes@SetMissingFigureUp{Manglende}%
+    \@todonotes@SetMissingFigureDown{figur}%
+}
+\DeclareOptionX{dutch}{%
+   \@todonotes@SetTodoListName{Lijst van onafgewerkte taken}%
+   \@todonotes@SetMissingFigureText{Figuur}%
+   \@todonotes@SetMissingFigureUp{Ontbrekende}%
+   \@todonotes@SetMissingFigureDown{figuur}%
+}
+\DeclareOptionX{french}{%
+    \@todonotes@SetTodoListName{Liste des points \`a traiter}%
+    \@todonotes@SetMissingFigureText{Figure}%
+    \@todonotes@SetMissingFigureUp{Figure}%
+    \@todonotes@SetMissingFigureDown{manquante}%
+    \@todonotes@reverseMissingFigureTrianglefalse
+}
+\DeclareOptionX{german}{%
+    \@todonotes@SetTodoListName{Liste der noch zu erledigenden Punkte}%
+    \@todonotes@SetMissingFigureText{Abbildung}%
+    \@todonotes@SetMissingFigureUp{Fehlende}%
+    \@todonotes@SetMissingFigureDown{Abbildung}%
+}
+\DeclareOptionX{italian}{
+    \@todonotes@SetTodoListName{Elenco delle cose da fare}%
+    \@todonotes@SetMissingFigureText{Figura}%
+    \@todonotes@SetMissingFigureUp{Figura}%
+    \@todonotes@SetMissingFigureDown{mancante}%
+}
+\DeclareOptionX{ngerman}{%
+    \@todonotes@SetTodoListName{Liste der noch zu erledigenden Punkte}%
+    \@todonotes@SetMissingFigureText{Abbildung}%
+    \@todonotes@SetMissingFigureUp{Fehlende}%
+    \@todonotes@SetMissingFigureDown{Abbildung}%
+}
+\DeclareOptionX{portuguese}{
+    \@todonotes@SetTodoListName{Lista de tarefas pendentes}%
+    \@todonotes@SetMissingFigureText{Figura}%
+    \@todonotes@SetMissingFigureUp{Figura}%
+    \@todonotes@SetMissingFigureDown{pendente}%
+}
+\DeclareOptionX{spanish}{
+    \@todonotes@SetTodoListName{Lista de tareas pendientes}%
+    \@todonotes@SetMissingFigureText{Figura}%
+    \@todonotes@SetMissingFigureUp{Figura}%
+    \@todonotes@SetMissingFigureDown{pendient}%
+}
+\newcounter{@todonotes@numberoftodonotes}
+\newif{\if@todonotes@obeyDraft}
+\DeclareOptionX{obeyDraft}{\@todonotes@obeyDrafttrue}
+\newif{\if@todonotes@isDraft}
+\DeclareOptionX{draft}{\@todonotes@isDrafttrue}
+\newif{\if@todonotes@disabled}
+\DeclareOptionX{disable}{\@todonotes@disabledtrue}
+\newif{\if@todonotes@colorinlistoftodos}
+\DeclareOptionX{colorinlistoftodos}{\@todonotes@colorinlistoftodostrue}
+\newif{\if@todonotes@dviStyle}
+\DeclareOptionX{dvistyle}{\@todonotes@dviStyletrue}
+\define@key{todonotes.sty}%
+    {color}{
+        \renewcommand{\@todonotes@backgroundcolor}{#1}
+        \renewcommand{\@todonotes@linecolor}{#1}}
+\define@key{todonotes.sty}%
+    {backgroundcolor}{\renewcommand{\@todonotes@backgroundcolor}{#1}}
+\define@key{todonotes.sty}%
+    {linecolor}{\renewcommand{\@todonotes@linecolor}{#1}}
+\define@key{todonotes.sty}%
+    {bordercolor}{\renewcommand{\@todonotes@bordercolor}{#1}}
+\newif{\if@todonotes@prependcaptionglobal}
+\@todonotes@prependcaptionglobalfalse
+\DeclareOptionX{prependcaption}{\@todonotes@prependcaptionglobaltrue}
+\define@key{todonotes.sty}%
+    {textwidth}{\renewcommand{\@todonotes@textwidth}{#1}}
+\define@key{todonotes.sty}%
+    {textsize}{\renewcommand{\@todonotes@textsize}{\csname #1\endcsname}}
+\newif{\if@todonotes@shadowenabled}
+\@todonotes@shadowenabledfalse
+\DeclareOptionX{shadow}{\@todonotes@shadowenabledtrue
+\usetikzlibrary{shadows}}
+\define@key{todonotes.sty}%
+    {figwidth}{\renewcommand{\@todonotes@figwidth}{#1}}
+\ProcessOptionsX*
+\if@todonotes@disabled
+\else
+\if@todonotes@obeyDraft
+\@todonotes@disabledtrue
+\if@todonotes@isDraft
+\@todonotes@disabledfalse
+\fi
+\fi
+\fi
+
+\newcommand{\@todonotes@currentlinecolor}{}%
+\newcommand{\@todonotes@currentbackgroundcolor}{}%
+\newcommand{\@todonotes@currentbordercolor}{}%
+\define@key{todonotes}{color}{%
+    \renewcommand{\@todonotes@currentlinecolor}{#1}%
+    \renewcommand{\@todonotes@currentbackgroundcolor}{#1}}%
+\define@key{todonotes}{linecolor}{%
+    \renewcommand{\@todonotes@currentlinecolor}{#1}}%
+\define@key{todonotes}{backgroundcolor}{%
+    \renewcommand{\@todonotes@currentbackgroundcolor}{#1}}%
+\define@key{todonotes}{bordercolor}{%
+    \renewcommand{\@todonotes@currentbordercolor}{#1}}%
+\newcommand{\@todonotes@sizecommand}{}%
+\define@key{todonotes}{size}{\renewcommand{\@todonotes@sizecommand}{#1}}%
+\newif\if@todonotes@appendtolistoftodos%
+\define@key{todonotes}{list}[]{\@todonotes@appendtolistoftodostrue}%
+\define@key{todonotes}{nolist}[]{\@todonotes@appendtolistoftodosfalse}%
+\newif\if@todonotes@inlinenote%
+\define@key{todonotes}{inline}[]{\@todonotes@inlinenotetrue}%
+\define@key{todonotes}{noinline}[]{\@todonotes@inlinenotefalse}%
+\newif\if@todonotes@prependcaption%
+\define@key{todonotes}{prepend}[]{\@todonotes@prependcaptiontrue}%
+\define@key{todonotes}{noprepend}[]{\@todonotes@prependcaptionfalse}%
+\newif\if@todonotes@line%
+\define@key{todonotes}{line}[]{\@todonotes@linetrue}%
+\define@key{todonotes}{noline}[]{\@todonotes@linefalse}%
+\newcommand{\@todonotes@caption}{}%
+\newif\if@todonotes@captiongiven%
+\define@key{todonotes}{caption}%
+    {\renewcommand{\@todonotes@caption}{#1}%
+    \@todonotes@captiongiventrue}%
+\define@key{todonotes}{nocaption}[]{\@todonotes@captiongivenfalse}%
+\newcommand{\@todonotes@currentfigwidth}{\@todonotes@figwidth}
+\define@key{todonotes}%
+    {figwidth}{\renewcommand{\@todonotes@currentfigwidth}{#1}}
+\presetkeys%
+    {todonotes}%
+    {linecolor=\@todonotes@linecolor,%
+    backgroundcolor=\@todonotes@backgroundcolor,%
+    bordercolor=\@todonotes@bordercolor,%
+    noinline,%
+    nocaption,%
+    figwidth=\@todonotes@figwidth,%
+    line, list, size=\@todonotes@textsize}{}%
+\if@todonotes@disabled%
+    \newcommand{\listoftodos}[1][]{}
+    \newcommand{\todo}[2][]{\ignorespaces}
+    \newcommand{\missingfigure}[2][]{}
+\else % \if@todonotes@disabled
+\newcommand{\listoftodos}[1][\@todonotes@todolistname]
+    {\section*{#1} \@starttoc{tdo}}
+\newcommand{\l@todo}
+    {\@dottedtocline{1}{0em}{2.3em}}
+\tikzstyle{notestyleraw} = [
+    draw=\@todonotes@currentbordercolor,
+    fill=\@todonotes@currentbackgroundcolor,
+    line width=0.5pt,
+    text width = \@todonotes@textwidth - 1.6 ex - 1pt,
+    inner sep = 0.8 ex,
+    rounded corners=4pt]
+\if@todonotes@shadowenabled
+\tikzstyle{notestyle} = [notestyleraw,
+    general shadow={shadow xshift=.5ex, shadow yshift=-.5ex,
+        opacity=1,fill=black!50}]
+\else
+\tikzstyle{notestyle} = [notestyleraw]
+\fi
+\tikzstyle{notestyleleft} = [
+    notestyle,
+    left]
+\tikzstyle{connectstyle} = [
+    thick,
+    draw=\@todonotes@currentlinecolor]
+\tikzstyle{inlinenotestyle} = [
+    notestyle,
+    text width=\linewidth - 1.6 ex - 1 pt]
+\newcommand{\todo}[2][]{%
+\if@todonotes@prependcaptionglobal%
+\@todonotes@prependcaptiontrue%
+\else%
+\@todonotes@prependcaptionfalse%
+\fi%
+\renewcommand{\@todonotes@text}{#2}%
+\renewcommand{\@todonotes@caption}{#2}%
+\setkeys{todonotes}{#1}%
+\addtocounter{@todonotes@numberoftodonotes}{1}%
+\if@todonotes@appendtolistoftodos%
+    \phantomsection%
+    \if@todonotes@captiongiven%
+    \else%
+        \renewcommand{\@todonotes@caption}{#2}%
+    \fi%
+    \if@todonotes@colorinlistoftodos%
+        \addcontentsline{tdo}{todo}{\protect{%
+            \colorbox{\@todonotes@currentbackgroundcolor}%
+                {\textcolor{\@todonotes@currentbackgroundcolor}{o}}%
+            \ \@todonotes@caption}}%
+    \else%
+        \addcontentsline{tdo}{todo}{\protect{\@todonotes@caption}}%
+    \fi%
+\fi%
+\if@todonotes@captiongiven%
+    \if@todonotes@prependcaption%
+        \renewcommand{\@todonotes@text}{\@todonotes@caption: #2}%
+    \fi%
+\fi%
+\if@todonotes@inlinenote%
+    \if@todonotes@dviStyle%
+        {\par\noindent\begin{tikzpicture}[remember picture]%
+            \draw node[inlinenotestyle] {};\end{tikzpicture}\par}%
+        {\noindent \@todonotes@sizecommand \@todonotes@text}%
+        {\par\noindent\begin{tikzpicture}[remember picture]%
+            \draw node[inlinenotestyle] {};\end{tikzpicture}\par}%
+    \else%
+        {\par\noindent\begin{tikzpicture}[remember picture]%
+            \draw node[inlinenotestyle] {\@todonotes@sizecommand 
\@todonotes@text};%
+            \end{tikzpicture}\par}%
+    \fi%
+\else%
+\begin{tikzpicture}[remember picture, baseline=-0.75ex]%
+    \node [coordinate] (inText) {};%
+\end{tikzpicture}%
+\marginpar[{% Draw note in left margin
+\if@todonotes@dviStyle%
+    \begin{tikzpicture}[remember picture]%
+        \draw node[notestyle] {};%
+    \end{tikzpicture}\\ %
+    \begin{minipage}{\@todonotes@textwidth}%
+    \@todonotes@sizecommand \@todonotes@text%
+    \end{minipage}\\%
+    \begin{tikzpicture}[remember picture]%
+        \draw node[notestyle] (inNote) {};%
+    \end{tikzpicture}%
+\else%
+    \begin{tikzpicture}[remember picture]%
+        \draw node[notestyle] (inNote)%
+            {\@todonotes@sizecommand \@todonotes@text};%
+    \end{tikzpicture}%
+\fi%
+\if@todonotes@line%
+    \begin{tikzpicture}[remember picture, overlay]%
+        \draw[connectstyle]%
+        ([yshift=-0.2cm] inText)%
+        -| ([xshift=0.2cm] inNote.east)%
+        -| (inNote.east);%
+    \end{tikzpicture}%
+\fi%
+}]{% Draw note in right margin
+\if@todonotes@dviStyle%
+    \begin{tikzpicture}[remember picture]%
+        \draw node[notestyle] {};%
+    \end{tikzpicture}\\%
+    \begin{minipage}{\@todonotes@textwidth}%
+    \@todonotes@sizecommand \@todonotes@text%
+    \end{minipage}\\%
+    \begin{tikzpicture}[remember picture]%
+        \draw node[notestyle] (inNote) {};%
+    \end{tikzpicture}%
+\else%
+    \begin{tikzpicture}[remember picture]%
+        \draw node[notestyle](inNote)%
+            {\@todonotes@sizecommand \@todonotes@text};%
+    \end{tikzpicture}%
+\fi%
+\if@todonotes@line%
+    \begin{tikzpicture}[remember picture, overlay]%
+        \draw[connectstyle]%
+        ([yshift=-0.2cm] inText)%
+        -| ([xshift=-0.2cm] inNote.west)%
+        -| (inNote.west);%
+    \end{tikzpicture}%
+\fi%
+}%
+\fi%
+\ignorespaces%
+}%
+\newcommand{\missingfigure}[2][]{
+\setkeys{todonotes}{#1}%
+\addcontentsline{tdo}{todo}{\@todonotes@MissingFigureText: \protect{#2}}%
+\par
+\noindent
+\begin{tikzpicture}
+\draw[fill=black!40, draw = white, line width=0pt]
+    (-2, -2.5) rectangle +(\@todonotes@currentfigwidth, 4cm);
+\draw (2, -0.3) node[right, text
+    width=\@[email protected]] {#2};
+\draw[red, fill=white, rounded corners = 5pt, line width=10pt]
+    (30:2cm) -- (150:2cm) -- (270:2cm) -- cycle;
+\draw (0, 0.3) node {\@todonotes@MissingFigureUp};
+\draw (0, -0.3) node {\@todonotes@MissingFigureDown};
+\end{tikzpicture}
+}% Ending \missingfigure command
+\fi % Ending \@todonotes@ifdisabled
+\endinput
+%%
+%% End of file `todonotes.sty'.
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/skv.git/commitdiff/7f51379c70ec065a6f9d9f75caec63321a07b1c8

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to