[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: