[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[graphite2] 57/69: Imported Debian patch 1.3.4-2



This is an automated email from the git hooks/post-receive script.

rene pushed a commit to branch master
in repository graphite2.

commit 50710b150f22e47799ad0fb6d0ee14208c0d29c5
Author: Rene Engelhard <rene@debian.org>
Date:   Tue Jan 5 17:12:01 2016 +0000

    Imported Debian patch 1.3.4-2
---
 debian/changelog                                   |  13 +++
 debian/control                                     |  29 +----
 debian/libgraphite2-3-dbg.substvars                |   2 +
 debian/patches/reproducible-build.diff             |  11 ++
 ...ollision-info-refactoring-to-fix-alignment.diff | 121 +++++++++++++++++++++
 debian/patches/series                              |   2 +
 debian/rules                                       |   6 +-
 7 files changed, 156 insertions(+), 28 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index b4ab868..e23dcc7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+graphite2 (1.3.4-2) unstable; urgency=medium
+
+  * debian/patches/revert-collision-info-refactoring-to-fix-alignment.diff:
+    add from upstream git, thanks Tim Eves (closes: #805323)
+  * debian/patches/reproducible-build.diff: tell dblatex to use a static
+    path to make build reproduceable, thanks Reiner Herrmann
+    (closes: #807838)
+  * use -DGRAPHITE2_NTRACING:BOOL=ON (instead of :bool=1)
+  * fix Maintainer:
+  * migrate from manual -dbg to ddeb
+
+ -- Rene Engelhard <rene@debian.org>  Tue, 05 Jan 2016 17:12:01 +0000
+
 graphite2 (1.3.4-1) unstable; urgency=medium
 
   * New upstream release
diff --git a/debian/control b/debian/control
index 91ec85d..5b50109 100644
--- a/debian/control
+++ b/debian/control
@@ -1,9 +1,9 @@
 Source: graphite2
 Priority: optional
 Section: libs
-Maintainer: Debian LibreOffice Team <debian-openoffice@lists.debian.org>
+Maintainer: Debian LibreOffice Maintainers <debian-openoffice@lists.debian.org>
 Uploaders: Rene Engelhard <rene@debian.org>, Daniel Glassey <wdg@debian.org>
-Build-Depends: debhelper (>= 9), dh-exec (>= 0.3), dpkg-dev (>= 1.16.1), cmake, python, fonttools
+Build-Depends: debhelper (>= 9.20151219), dh-exec (>= 0.3), dpkg-dev (>= 1.18.2~), cmake, python, fonttools
 # perl: libmodule-build-perl
 # mono: mono-xbuild, mono-gmcs, mono-dmcs, libnunit-cil-dev
 Build-Depends-Indep: asciidoc, dblatex, doxygen, docbook-xsl, latex-xcolor, libxml2-utils, graphviz
@@ -62,31 +62,6 @@ Description: Development files for libgraphite2
  .
  This package contains the development libraries for libgraphite2 
 
-Package: libgraphite2-3-dbg
-Priority: extra
-Section: debug
-Architecture: any
-Depends: libgraphite2-3 (= ${binary:Version}), ${misc:Depends}
-Description: Debug symbols for libgraphite2
- Graphite is a system that can be used to create and use "smart fonts" capable
- of displaying writing systems with various complex behaviors, such as:
- contextual shaping, ligatures, reordering, split glyphs, bidirectionality,
- stacking diacritics and complex positioning.
- .
- This library was designed and developed by the NRSI (Non-Roman Script
- Initiative) within SIL International (www.sil.org) to act as a complement to
- other smart font rendering technologies with limited practical local
- extensibility. Its purpose is to help meet the needs of a very large number
- of "minority language" communities for local extensibility of complex script
- behaviors. 
- .
- The behavior of the rendering engine for a given writing system is specified
- through extra tables added to a TrueType font.  These tables are generated by
- compiling a GDL (Graphite Description Language) source file into a font using
- grcompiler. 
- .
- Debug symbols for libgraphite2
-
 Package: libgraphite2-doc
 Section: doc
 Architecture: all
diff --git a/debian/libgraphite2-3-dbg.substvars b/debian/libgraphite2-3-dbg.substvars
new file mode 100644
index 0000000..978fc8b
--- /dev/null
+++ b/debian/libgraphite2-3-dbg.substvars
@@ -0,0 +1,2 @@
+misc:Depends=
+misc:Pre-Depends=
diff --git a/debian/patches/reproducible-build.diff b/debian/patches/reproducible-build.diff
new file mode 100644
index 0000000..3b83c70
--- /dev/null
+++ b/debian/patches/reproducible-build.diff
@@ -0,0 +1,11 @@
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -12,7 +12,7 @@
+     if(DBLATEX)
+         add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/manual.pdf
+                            DEPENDS ${PROJECT_SOURCE_DIR}/[a-z]*.txt
+-                           COMMAND ${A2X} -D ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/manual.txt)
++                           COMMAND ${A2X} -D ${PROJECT_BINARY_DIR} --dblatex-opts="--tmpdir=docbuild" ${PROJECT_SOURCE_DIR}/manual.txt)
+         add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/GTF.pdf
+                            DEPENDS ${PROJECT_SOURCE_DIR}/GTF.txt
+                            COMMAND ${A2X} -D ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/GTF.txt)
diff --git a/debian/patches/revert-collision-info-refactoring-to-fix-alignment.diff b/debian/patches/revert-collision-info-refactoring-to-fix-alignment.diff
new file mode 100644
index 0000000..b2e5519
--- /dev/null
+++ b/debian/patches/revert-collision-info-refactoring-to-fix-alignment.diff
@@ -0,0 +1,121 @@
+diff -u b/src/Segment.cpp b/src/Segment.cpp
+--- b/src/Segment.cpp
++++ b/src/Segment.cpp
+@@ -46,6 +46,7 @@
+ : m_freeSlots(NULL),
+   m_freeJustifies(NULL),
+   m_charinfo(new CharInfo[numchars]),
++  m_collisions(NULL),
+   m_face(face),
+   m_silf(face->chooseSilf(script)),
+   m_first(NULL),
+@@ -71,6 +72,7 @@
+     for (JustifyRope::iterator i = m_justifies.begin(); i != m_justifies.end(); ++i)
+         free(*i);
+     delete[] m_charinfo;
++    free(m_collisions);
+ }
+ 
+ #ifndef GRAPHITE2_NSEGCACHE
+@@ -175,8 +177,7 @@
+         if (m_face->logger()) ++numUser;
+ #endif
+         Slot *newSlots = grzeroalloc<Slot>(m_bufSize);
+-        int attrSize = numUser + (hasCollisionInfo() ? ((sizeof(SlotCollision) + 1) / 2) : 0);
+-        int16 *newAttrs = grzeroalloc<int16>(m_bufSize * attrSize);
++        int16 *newAttrs = grzeroalloc<int16>(m_bufSize * numUser);
+         if (!newSlots || !newAttrs)
+         {
+             free(newSlots);
+@@ -185,7 +186,7 @@
+         }
+         for (size_t i = 0; i < m_bufSize; i++)
+         {
+-            ::new (newSlots + i) Slot(newAttrs + i * attrSize);
++            ::new (newSlots + i) Slot(newAttrs + i * numUser);
+             newSlots[i].next(newSlots + i + 1);
+         }
+         newSlots[m_bufSize - 1].next(NULL);
+@@ -214,8 +215,7 @@
+     }
+     // reset the slot incase it is reused
+     ::new (aSlot) Slot(aSlot->userAttrs());
+-    int attrSize = m_silf->numUser() + (hasCollisionInfo() ? ((sizeof(SlotCollision) + 1) / 2) : 0);
+-    memset(aSlot->userAttrs(), 0, attrSize * sizeof(int16));
++    memset(aSlot->userAttrs(), 0, m_silf->numUser() * sizeof(int16));
+     // Update generation counter for debug
+ #if !defined GRAPHITE2_NTRACING
+     if (m_face->logger())
+@@ -304,14 +304,13 @@
+     assert(offset + numChars <= m_numCharinfo);
+     Slot * indexmap[eMaxSpliceSize*3];
+     assert(numGlyphs < sizeof indexmap/sizeof *indexmap);
+-    int attrSize = m_silf->numUser() + (hasCollisionInfo() ? ((sizeof(SlotCollision) + 1) / 2) : 0);
+     Slot * slot = startSlot;
+     for (uint16 i=0; i < numGlyphs; slot = slot->next(), ++i)
+         indexmap[i] = slot;
+ 
+     for (slot = startSlot; slot != endSlot; slot = slot->next(), srcSlot = srcSlot->next())
+     {
+-        slot->set(*srcSlot, offset, attrSize, m_silf->numJustLevels(), numChars);
++        slot->set(*srcSlot, offset, m_silf->numUser(), m_silf->numJustLevels(), numChars);
+         if (srcSlot->attachedTo())  slot->attachTo(indexmap[srcSlot->attachedTo()->index()]);
+         if (srcSlot->nextSibling()) slot->m_sibling = indexmap[srcSlot->nextSibling()->index()];
+         if (srcSlot->firstChild())  slot->m_child = indexmap[srcSlot->firstChild()->index()];
+@@ -523,6 +522,9 @@
+ 
+ bool Segment::initCollisions()
+ {
++    m_collisions = grzeroalloc<SlotCollision>(slotCount());
++    if (!m_collisions) return false;
++
+     for (Slot *p = m_first; p; p = p->next())
+         ::new (collisionInfo(p)) SlotCollision(this, p);
+     return true;
+diff -u b/src/inc/Segment.h b/src/inc/Segment.h
+--- b/src/inc/Segment.h
++++ b/src/inc/Segment.h
+@@ -160,8 +160,7 @@
+ 
+     bool isWhitespace(const int cid) const;
+     bool hasCollisionInfo() const { return (m_flags & SEG_HASCOLLISIONS); }
+-    SlotCollision *collisionInfo(const Slot *s) const { return hasCollisionInfo() ? reinterpret_cast<SlotCollision *>(s->userAttrs() + m_silf->numUser()) : 0; }
+-
++    SlotCollision *collisionInfo(const Slot *s) const { return m_collisions ? m_collisions + s->index() : 0; }
+     CLASS_NEW_DELETE
+ 
+ public:       //only used by: GrSegment* makeAndInitialize(const GrFont *font, const GrFace *face, uint32 script, const FeaturesHandle& pFeats/*must not be IsNull*/, encform enc, const void* pStart, size_t nChars, int dir);
+@@ -179,6 +178,7 @@
+     Slot          * m_freeSlots;        // linked list of free slots
+     SlotJustify   * m_freeJustifies;    // Slot justification blocks free list
+     CharInfo      * m_charinfo;         // character info, one per input character
++    SlotCollision * m_collisions;
+     const Face    * m_face;             // GrFace
+     const Silf    * m_silf;
+     Slot          * m_first;            // first slot in segment
+only in patch2:
+unchanged:
+--- a/src/SegCacheEntry.cpp
++++ b/src/SegCacheEntry.cpp
+@@ -61,8 +61,7 @@ SegCacheEntry::SegCacheEntry(const uint16* cmapGlyphs, size_t length, Segment *
+     }
+     const Slot * slot = seg->first();
+     m_glyph = new Slot[glyphCount];
+-    int attrSize = seg->numAttrs() + (seg->hasCollisionInfo() ? (sizeof(SlotCollision) + 1) / 2 : 0);
+-    m_attr = gralloc<int16>(glyphCount * attrSize);
++    m_attr = gralloc<int16>(glyphCount * seg->numAttrs());
+     if (!m_glyph || (!m_attr && seg->numAttrs())) return;
+     m_glyphLength = glyphCount;
+     Slot * slotCopy = m_glyph;
+@@ -71,9 +70,9 @@ SegCacheEntry::SegCacheEntry(const uint16* cmapGlyphs, size_t length, Segment *
+     uint16 pos = 0;
+     while (slot)
+     {
+-        slotCopy->userAttrs(m_attr + pos * attrSize);
++        slotCopy->userAttrs(m_attr + pos * seg->numAttrs());
+         slotCopy->m_justs = m_justs ? reinterpret_cast<SlotJustify *>(m_justs + justs_pos++ * sizeof_sjust) : 0;
+-        slotCopy->set(*slot, -static_cast<int32>(charOffset), attrSize, seg->silf()->numJustLevels(), length);
++        slotCopy->set(*slot, -static_cast<int32>(charOffset), seg->numAttrs(), seg->silf()->numJustLevels(), length);
+         slotCopy->index(pos);
+         if (slot->firstChild())
+             slotCopy->m_child = m_glyph + slot->firstChild()->index();
diff --git a/debian/patches/series b/debian/patches/series
index d39cfd6..fc45f5a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,5 @@
 non-linux.diff
 no-icons.diff
 test-timeout.diff
+revert-collision-info-refactoring-to-fix-alignment.diff
+reproducible-build.diff
diff --git a/debian/rules b/debian/rules
index f6c8d39..b83bbce 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,5 +1,6 @@
 #!/usr/bin/make -f
 
+export DPKG_EXPORT_BUILDFLAGS = 0
 include /usr/share/dpkg/architecture.mk
 
 %:
@@ -60,10 +61,13 @@ override_dh_auto_clean:
 	dh_auto_clean
 
 override_dh_auto_configure:
-	dh_auto_configure -- -DCMAKE_BUILD_TYPE:STRING=Release -DGRAPHITE2_NTRACING:bool=1 -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH)
+	dh_auto_configure -- -DCMAKE_BUILD_TYPE:STRING=Release -DGRAPHITE2_NTRACING:BOOL=ON -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH)
 	find . -type f ! -name "rules" ! -name "changelog" \
 		-exec sed -i -e 's/\-O3//g' {} \;
 
 override_dh_gencontrol:
 	dh_gencontrol -Nlibtext-gr2-perl -O--builddirectory=build
 #	dh_gencontrol -plibtext-gr2-perl -- -v`cat perl/META.yml | grep version: | tail -n 1 | awk '{ print $$2 }'`-`dpkg-parsechangelog  | grep urgency | awk '{ print $$2 }' | sed -e 's/(//' | sed -e 's/)//' | cut -d- -f2`
+
+override_dh_strip:
+	dh_strip --ddeb-migration="libgraphite2-3-dbg (<= 1.3.4-1)"

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-openoffice/graphite2.git


Reply to: