From: Anton Gladky Date: Wed, 22 Nov 2017 08:54:12 +0000 (+0000) Subject: solvespace (2.3+repack1-3) unstable; urgency=medium X-Git-Tag: archive/raspbian/3.1+ds1-3+rpi1~1^2^2~4 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=5a76dc40f6cba1f496518de3a76ea2a3de729ccf;p=solvespace.git solvespace (2.3+repack1-3) unstable; urgency=medium * [6d84f29] Set minimal cmake version to 3.1.0. * [be690c9] Fix FTBFS with glibc 2.25. (Closes: #882167) * [6c8697c] Set Standards-Version: 4.1.1 * [2c3d9bd] Set compat level 10 * [fb232b5] Set maximal hardening options [dgit import unpatched solvespace 2.3+repack1-3] --- 5a76dc40f6cba1f496518de3a76ea2a3de729ccf diff --cc debian/changelog index 0000000,0000000..03845ef new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,30 @@@ ++solvespace (2.3+repack1-3) unstable; urgency=medium ++ ++ * [6d84f29] Set minimal cmake version to 3.1.0. ++ * [be690c9] Fix FTBFS with glibc 2.25. (Closes: #882167) ++ * [6c8697c] Set Standards-Version: 4.1.1 ++ * [2c3d9bd] Set compat level 10 ++ * [fb232b5] Set maximal hardening options ++ ++ -- Anton Gladky Wed, 22 Nov 2017 09:54:12 +0100 ++ ++solvespace (2.3+repack1-2) unstable; urgency=medium ++ ++ * [0d4dc2b] Add missing dependency on libslvs1. (Closes: #856937) ++ ++ -- Anton Gladky Mon, 06 Mar 2017 20:59:20 +0100 ++ ++solvespace (2.3+repack1-1) unstable; urgency=medium ++ ++ * [a7825d4] Add d/watch. ++ * [15facd8] Update get_orig.sh script. ++ * [4bcf775] New upstream version 2.3+repack1 ++ * [5bfcd9a] Refresh patch. ++ ++ -- Anton Gladky Sat, 31 Dec 2016 09:54:59 +0100 ++ ++solvespace (2.1+repack2-1) unstable; urgency=medium ++ ++ * Initial Release. (Closes: #797997) ++ ++ -- Anton Gladky Mon, 15 Aug 2016 22:31:44 +0200 diff --cc debian/compat index 0000000,0000000..f599e28 new file mode 100644 --- /dev/null +++ b/debian/compat @@@ -1,0 -1,0 +1,1 @@@ ++10 diff --cc debian/control index 0000000,0000000..6fcfee3 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,67 @@@ ++Source: solvespace ++Maintainer: Debian Science Maintainers ++Uploaders: whitequark , ++ Anton Gladky ++Section: graphics ++Priority: optional ++Build-Depends: cmake (>=3.1.0), ++ debhelper (>= 10), ++ libfontconfig1-dev, ++ libgl-dev, ++ libglew-dev, ++ libglu-dev, ++ libgtkmm-2.4-dev, ++ libjson-c-dev, ++ libpangomm-1.4-dev, ++ libpng-dev, ++ unifont, ++ zlib1g-dev ++Standards-Version: 4.1.1 ++Vcs-Browser: https://anonscm.debian.org/cgit/debian-science/packages/solvespace.git ++Vcs-Git: https://anonscm.debian.org/git/debian-science/packages/solvespace.git ++Homepage: http://solvespace.com ++ ++Package: solvespace ++Architecture: any ++Multi-Arch: foreign ++Depends: ${misc:Depends}, ++ ${shlibs:Depends} ++Description: Parametric 2d/3d CAD ++ SolveSpace is a parametric 2d/3d CAD program. Applications include: ++ . ++ * modeling 3d parts — draw with extrudes, revolves, and Boolean ++ (union / difference) operations; ++ * modeling 2d parts — draw the part as a single section, and export DXF, ++ PDF, SVG; use 3d assembly to verify fit; ++ * 3d-printed parts — export the STL or other triangle mesh expected by ++ most 3d printers; ++ * preparing CAM data — export 2d vector art for a waterjet machine or ++ laser cutter; or generate STEP or STL, for import into third-party ++ CAM software for machining; ++ * mechanism design — use the constraint solver to simulate planar or ++ spatial linkages, with pin, ball, or slide joints; ++ * plane and solid geometry — replace hand-solved trigonometry and ++ spreadsheets with a live dimensioned drawing. ++ ++Package: libslvs1 ++Architecture: any ++Multi-Arch: same ++Section: libs ++Depends: ${misc:Depends}, ++ ${shlibs:Depends} ++Description: SolveSpace geometric kernel ++ SolveSpace is a parametric 2d/3d CAD. libslvs contains the geometric ++ kernel of SolveSpace, built as a library. ++ ++Package: libslvs1-dev ++Architecture: any ++Multi-Arch: same ++Section: libdevel ++Depends: ${misc:Depends}, ++ ${shlibs:Depends}, ++ libslvs1 (= ${binary:Version}) ++Description: SolveSpace geometric kernel (development files) ++ SolveSpace is a parametric 2d/3d CAD. libslvs contains the geometric ++ kernel of SolveSpace, built as a library. ++ . ++ This package includes development files for libslvs. diff --cc debian/copyright index 0000000,0000000..bb13cf7 new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,57 @@@ ++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: solvespace ++Source: https://github.com/solvespace/solvespace ++ ++Files: * ++Copyright: 2008-2013 Jonathan Westhues ++ 2015-2016 whitequark ++ 2015-2016 Aleksey Egorov ++License: GPL-3.0+ ++ ++Files: debian/* ++Copyright: 2015-2016 whitequark ++License: GPL-3.0+ ++ ++Files: extlib/libdxfrw/* ++Copyright: 2011-2015 José F. Soriano, rallazz@gmail.com ++License: GPL-2.0+ ++ ++Files: src/fonts/unicode.lff.gz ++Copyright: 2011 Rallaz ++ 2011 Eugene Osintsev ++ 2011 Yoshimune Kobayashi ++License: GPL-2.0+ ++ ++License: GPL-3.0+ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation, either version 3 of the License, or ++ (at your option) any later version. ++ . ++ This package 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 General Public License for more details. ++ . ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . ++ . ++ On Debian systems, the complete text of the GNU General ++ Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". ++ ++License: GPL-2.0+ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation, either version 2 of the License, or ++ (at your option) any later version. ++ . ++ This package 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 General Public License for more details. ++ . ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . ++ . ++ On Debian systems, the complete text of the GNU General ++ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". diff --cc debian/docs index 0000000,0000000..b43bf86 new file mode 100644 --- /dev/null +++ b/debian/docs @@@ -1,0 -1,0 +1,1 @@@ ++README.md diff --cc debian/get_orig.sh index 0000000,0000000..2e37887 new file mode 100755 --- /dev/null +++ b/debian/get_orig.sh @@@ -1,0 -1,0 +1,17 @@@ ++#!/bin/bash ++ ++RELEASE_NAME=v2.3 ++ ++UPSTREAM="https://github.com/solvespace/solvespace.git" ++git clone --depth=1 --recursive -b ${RELEASE_NAME} ${UPSTREAM} ++ ++rm -rfv solvespace/extlib/libfreetype ++rm -rfv solvespace/extlib/libpng ++rm -rfv solvespace/extlib/zlib ++rm -rfv solvespace/extlib/si ++rm -rfv solvespace/debian ++rm -rfv solvespace/.gi* ++rm -rfv solvespace/.travis ++rm -rfv solvespace/src/fonts/unifont-8.0.01.hex.gz ++ ++tar cJf solvespace_${RELEASE_NAME}+repack2.tar.xz solvespace diff --cc debian/libslvs1-dev.install index 0000000,0000000..8de0fcd new file mode 100644 --- /dev/null +++ b/debian/libslvs1-dev.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/include/slvs.h ++usr/lib/*/libslvs.so diff --cc debian/libslvs1.install index 0000000,0000000..ffa6d6e new file mode 100644 --- /dev/null +++ b/debian/libslvs1.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libslvs.so.* diff --cc debian/patches/01_RemoveGitHash.patch index 0000000,0000000..4fd06ee new file mode 100644 --- /dev/null +++ b/debian/patches/01_RemoveGitHash.patch @@@ -1,0 -1,0 +1,16 @@@ ++Description: Remove git hash commit consideration ++Author: Anton Gladky ++Last-Update: 2016-12-31 ++ ++Index: solvespace/CMakeLists.txt ++=================================================================== ++--- solvespace.orig/CMakeLists.txt +++++ solvespace/CMakeLists.txt ++@@ -20,7 +20,6 @@ set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX ++ # NOTE TO PACKAGERS: The embedded git commit hash is critical for rapid bug triage when the builds ++ # can come from a variety of sources. If you are mirroring the sources or otherwise build when ++ # the .git directory is not present, please comment the following line: ++-include(GetGitCommitHash) ++ # and instead uncomment the following, adding the complete git hash of the checkout you are using: ++ # set(GIT_COMMIT_HASH 0000000000000000000000000000000000000000) ++ diff --cc debian/patches/20_use_system_unifont.patch index 0000000,0000000..2ece363 new file mode 100644 --- /dev/null +++ b/debian/patches/20_use_system_unifont.patch @@@ -1,0 -1,0 +1,56 @@@ ++Description: Use system packaged unifont ++Author: Anton Gladky ++Last-Update: 2016-08-15 ++ ++Index: solvespace/src/CMakeLists.txt ++=================================================================== ++--- solvespace.orig/src/CMakeLists.txt +++++ solvespace/src/CMakeLists.txt ++@@ -101,10 +101,10 @@ add_custom_command( ++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated/bitmapfont.table.h ++ COMMAND $ ++ ${CMAKE_CURRENT_BINARY_DIR}/generated/bitmapfont.table.h ++- ${CMAKE_CURRENT_SOURCE_DIR}/fonts/unifont-8.0.01.hex.gz +++ /usr/share/unifont/unifont.hex ++ ${chars} ++ DEPENDS unifont2c ++- ${CMAKE_CURRENT_SOURCE_DIR}/fonts/unifont-8.0.01.hex.gz +++ /usr/share/unifont/unifont.hex ++ ${chars} ++ VERBATIM) ++ ++Index: solvespace/tools/unifont2c.cpp ++=================================================================== ++--- solvespace.orig/tools/unifont2c.cpp +++++ solvespace/tools/unifont2c.cpp ++@@ -118,17 +118,17 @@ int main(int argc, char** argv) { ++ properties[codepoint].exists = true; ++ } ++ ++- gzFile unifont = gzopen(argv[2], "rb"); +++ FILE *unifont = fopen(argv[2], "rb"); ++ if(!unifont) ++ die("unifont fopen failed"); ++ ++ while(1) { ++ char buf[100]; ++- if(!gzgets(unifont, buf, sizeof(buf))){ ++- if(gzeof(unifont)) { +++ if(!fgets(buf, sizeof(buf), unifont)){ +++ if(feof(unifont)) { ++ break; ++ } else { ++- die("unifont gzgets failed"); +++ die("unifont gets failed"); ++ } ++ } ++ ++@@ -164,7 +164,7 @@ int main(int argc, char** argv) { ++ properties[codepoint].isWide = isWide; ++ } ++ ++- gzclose(unifont); +++ fclose(unifont); ++ ++ FILE *source = fopen(argv[1], "wt"); ++ if(!source) diff --cc debian/patches/30_fix_ftbfs_glibc.patch index 0000000,0000000..f25ba9b new file mode 100644 --- /dev/null +++ b/debian/patches/30_fix_ftbfs_glibc.patch @@@ -1,0 -1,0 +1,126 @@@ ++Description: Fix FTBFS with glibc 2.25 ++ Replace CHAR_WIDTH by CHAR_W_SOLVESPACE ++Author: Anton Gladky ++Bug-Debian: https://bugs.debian.org/882167 ++Last-Update: 2017-11-21 ++ ++--- solvespace-2.3+repack1.orig/src/textwin.cpp +++++ solvespace-2.3+repack1/src/textwin.cpp ++@@ -85,7 +85,7 @@ void TextWindow::ShowEditControl(int col ++ editControl.halfRow = halfRow; ++ editControl.col = col; ++ ++- int x = LEFT_MARGIN + CHAR_WIDTH*col; +++ int x = LEFT_MARGIN + CHAR_W_SOLVESPACE*col; ++ int y = (halfRow - SS.TW.scrollPos)*(LINE_HEIGHT/2); ++ ++ ShowTextEditControl(x, y + 18, str); ++@@ -447,7 +447,7 @@ void TextWindow::DrawOrHitTestIcons(int ++ double ox = oldMousePos.x, oy = oldMousePos.y - LINE_HEIGHT; ++ ox += 3; ++ oy -= 3; ++- int tw = (str.length() + 1)*(CHAR_WIDTH - 1); +++ int tw = (str.length() + 1)*(CHAR_W_SOLVESPACE - 1); ++ ox = min(ox, (double) (width - 25) - tw); ++ oy = max(oy, 5.0); ++ ++@@ -583,7 +583,7 @@ bool TextWindow::DrawOrHitTestColorPicke ++ int width, height; ++ GetTextWindowSize(&width, &height); ++ ++- int px = LEFT_MARGIN + CHAR_WIDTH*editControl.col; +++ int px = LEFT_MARGIN + CHAR_W_SOLVESPACE*editControl.col; ++ int py = (editControl.halfRow - SS.TW.scrollPos)*(LINE_HEIGHT/2); ++ ++ py += LINE_HEIGHT + 5; ++@@ -842,8 +842,8 @@ void TextWindow::Paint(void) { ++ if(ltop < (scrollPos-1)) continue; ++ if(ltop > scrollPos+halfRows) break; ++ ++- for(c = 0; c < min((width/CHAR_WIDTH)+1, (int) MAX_COLS); c++) { ++- int x = LEFT_MARGIN + c*CHAR_WIDTH; +++ for(c = 0; c < min((width/CHAR_W_SOLVESPACE)+1, (int) MAX_COLS); c++) { +++ int x = LEFT_MARGIN + c*CHAR_W_SOLVESPACE; ++ int y = (ltop-scrollPos)*(LINE_HEIGHT/2) + 4; ++ ++ int fg = meta[r][c].fg; ++@@ -866,7 +866,7 @@ void TextWindow::Paint(void) { ++ // Move the quad down a bit, so that the descenders ++ // still have the correct background. ++ y += adj; ++- ssglAxisAlignedQuad(x, x + CHAR_WIDTH, y, y + bh, false); +++ ssglAxisAlignedQuad(x, x + CHAR_W_SOLVESPACE, y, y + bh, false); ++ y -= adj; ++ } ++ } else if(a == 1) { ++@@ -912,8 +912,8 @@ void TextWindow::Paint(void) { ++ glLineWidth(1); ++ glBegin(GL_LINES); ++ int yp = y + CHAR_HEIGHT; ++- glVertex2d(LEFT_MARGIN + cs*CHAR_WIDTH, yp); ++- glVertex2d(LEFT_MARGIN + cf*CHAR_WIDTH, yp); +++ glVertex2d(LEFT_MARGIN + cs*CHAR_W_SOLVESPACE, yp); +++ glVertex2d(LEFT_MARGIN + cf*CHAR_W_SOLVESPACE, yp); ++ glEnd(); ++ ++ glEnable(GL_TEXTURE_2D); ++@@ -979,7 +979,7 @@ void TextWindow::MouseEvent(bool leftCli ++ hoveredCol = 0; ++ ++ // Find the corresponding character in the text buffer ++- int c = (int)((x - LEFT_MARGIN) / CHAR_WIDTH); +++ int c = (int)((x - LEFT_MARGIN) / CHAR_W_SOLVESPACE); ++ int hh = (LINE_HEIGHT)/2; ++ y += scrollPos*hh; ++ int r; ++--- solvespace-2.3+repack1.orig/src/toolbar.cpp +++++ solvespace-2.3+repack1/src/toolbar.cpp ++@@ -218,7 +218,7 @@ bool GraphicsWindow::ToolbarDrawOrHitTes ++ } ++ } ++ ++- int tw = str.length() * (SS.TW.CHAR_WIDTH - 1) + 10, +++ int tw = str.length() * (SS.TW.CHAR_W_SOLVESPACE - 1) + 10, ++ th = SS.TW.LINE_HEIGHT + 2; ++ ++ double ox = toolbarMouseX + 3, oy = toolbarMouseY + 3; ++--- solvespace-2.3+repack1.orig/src/ui.h +++++ solvespace-2.3+repack1/src/ui.h ++@@ -27,7 +27,7 @@ public: ++ float fgColorTable[256*3]; ++ ++ enum { ++- CHAR_WIDTH = 9, +++ CHAR_W_SOLVESPACE = 9, ++ CHAR_HEIGHT = 16, ++ LINE_HEIGHT = 20, ++ LEFT_MARGIN = 6, ++--- solvespace-2.3+repack1.orig/src/win32/w32main.cpp +++++ solvespace-2.3+repack1/src/win32/w32main.cpp ++@@ -138,7 +138,7 @@ void SolveSpace::DoMessageBox(const char ++ RECT r; ++ GetWindowRect(GraphicsWnd, &r); ++ const char *title = error ? "SolveSpace - Error" : "SolveSpace - Message"; ++- int width = cols*SS.TW.CHAR_WIDTH + 20, +++ int width = cols*SS.TW.CHAR_W_SOLVESPACE + 20, ++ height = rows*SS.TW.LINE_HEIGHT + 60; ++ MessageWidth = width; ++ MessageHeight = height; ++@@ -546,7 +546,7 @@ LRESULT CALLBACK TextWndProc(HWND hwnd, ++ r->top += extra; ++ break; ++ } ++- int tooNarrow = (SS.TW.MIN_COLS*SS.TW.CHAR_WIDTH) - +++ int tooNarrow = (SS.TW.MIN_COLS*SS.TW.CHAR_W_SOLVESPACE) - ++ (r->right - r->left); ++ if(tooNarrow >= 0) { ++ switch(wParam) { ++@@ -1367,7 +1367,7 @@ int WINAPI WinMain(HINSTANCE hInstance, ++ InitCommonControls(); ++ ++ // A monospaced font ++- FixedFont = CreateFontW(SS.TW.CHAR_HEIGHT, SS.TW.CHAR_WIDTH, 0, 0, +++ FixedFont = CreateFontW(SS.TW.CHAR_HEIGHT, SS.TW.CHAR_W_SOLVESPACE, 0, 0, ++ FW_REGULAR, false, ++ false, false, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, ++ DEFAULT_QUALITY, FF_DONTCARE, L"Lucida Console"); diff --cc debian/patches/series index 0000000,0000000..8efde5d new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,3 @@@ ++01_RemoveGitHash.patch ++20_use_system_unifont.patch ++30_fix_ftbfs_glibc.patch diff --cc debian/rules index 0000000,0000000..d8309f6 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,6 @@@ ++#!/usr/bin/make -f ++ ++export DEB_BUILD_MAINT_OPTIONS = hardening=+all ++ ++%: ++ dh $@ diff --cc debian/solvespace.1 index 0000000,0000000..d997372 new file mode 100644 --- /dev/null +++ b/debian/solvespace.1 @@@ -1,0 -1,0 +1,28 @@@ ++.\"Created with GNOME Manpages Editor Wizard ++.\"http://sourceforge.net/projects/gmanedit2 ++.TH solvespace 1 "August 15, 2016" "" "SOLVESPACE" ++ ++.SH NAME ++solvespace \- a parametric 3d CAD program ++ ++.SH DESCRIPTION ++.PP ++.B modeling 3d parts - ++draw with extrudes, revolves, and Boolean (union / difference) operations ++.PP ++.B modeling 1d parts - ++draw the part as a single section, and export DXF, PDF, SVG; use 3d assembly to verify fit ++.PP ++.B 3d-printed parts - ++export the STL or other triangle mesh expected by most 3d printers ++.PP ++.B preparing CAM data - ++export 2d vector art for a waterjet machine or laser cutter; or generate STEP or STL, for import into third-party CAM software for machining ++.PP ++.B mechanism design - ++use the constraint solver to simulate planar or spatial linkages, with pin, ball, or slide joints ++.PP ++.B plane and solid geometry - ++replace hand-solved trigonometry and spreadsheets with a live dimensioned drawing ++.PP ++ diff --cc debian/solvespace.install index 0000000,0000000..0ca010a new file mode 100644 --- /dev/null +++ b/debian/solvespace.install @@@ -1,0 -1,0 +1,3 @@@ ++usr/bin/solvespace ++usr/share/applications ++usr/share/icons diff --cc debian/solvespace.manpages index 0000000,0000000..be9c64a new file mode 100644 --- /dev/null +++ b/debian/solvespace.manpages @@@ -1,0 -1,0 +1,1 @@@ ++debian/solvespace.1 diff --cc debian/solvespace.sharedmimeinfo index 0000000,0000000..4f6e2cf new file mode 100644 --- /dev/null +++ b/debian/solvespace.sharedmimeinfo @@@ -1,0 -1,0 +1,8 @@@ ++ ++ ++ ++ SolveSpace sketch ++ ++ ++ ++ diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/source/options index 0000000,0000000..a799080 new file mode 100644 --- /dev/null +++ b/debian/source/options @@@ -1,0 -1,0 +1,5 @@@ ++## This file was written by cme command. ++## You can run 'cme edit dpkg' to modify this file. ++## You may also modify the content of this file with your favorite editor. ++ ++tar-ignore=".git" diff --cc debian/watch index 0000000,0000000..72df02a new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,3 @@@ ++version=3 ++opts=repacksuffix=+dfsg1,uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)\d*)$/$1~$2/,dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$// \ ++https://github.com/solvespace/solvespace/tags .*/v?(\d\S*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz))