From 80ef5995e05445edd3ddea5dd1b24aaabed57e86 Mon Sep 17 00:00:00 2001 From: Anton Gladky Date: Wed, 22 Nov 2017 08:54:12 +0000 Subject: [PATCH] Import solvespace_2.3+repack1-3.debian.tar.xz [dgit import tarball solvespace 2.3+repack1-3 solvespace_2.3+repack1-3.debian.tar.xz] --- changelog | 30 +++++++ compat | 1 + control | 67 +++++++++++++++ copyright | 57 +++++++++++++ docs | 1 + get_orig.sh | 17 ++++ libslvs1-dev.install | 2 + libslvs1.install | 1 + patches/01_RemoveGitHash.patch | 16 ++++ patches/20_use_system_unifont.patch | 56 +++++++++++++ patches/30_fix_ftbfs_glibc.patch | 126 ++++++++++++++++++++++++++++ patches/series | 3 + rules | 6 ++ solvespace.1 | 28 +++++++ solvespace.install | 3 + solvespace.manpages | 1 + solvespace.sharedmimeinfo | 8 ++ source/format | 1 + source/options | 5 ++ watch | 3 + 20 files changed, 432 insertions(+) create mode 100644 changelog create mode 100644 compat create mode 100644 control create mode 100644 copyright create mode 100644 docs create mode 100755 get_orig.sh create mode 100644 libslvs1-dev.install create mode 100644 libslvs1.install create mode 100644 patches/01_RemoveGitHash.patch create mode 100644 patches/20_use_system_unifont.patch create mode 100644 patches/30_fix_ftbfs_glibc.patch create mode 100644 patches/series create mode 100755 rules create mode 100644 solvespace.1 create mode 100644 solvespace.install create mode 100644 solvespace.manpages create mode 100644 solvespace.sharedmimeinfo create mode 100644 source/format create mode 100644 source/options create mode 100644 watch diff --git a/changelog b/changelog new file mode 100644 index 0000000..03845ef --- /dev/null +++ b/changelog @@ -0,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 --git a/compat b/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +10 diff --git a/control b/control new file mode 100644 index 0000000..6fcfee3 --- /dev/null +++ b/control @@ -0,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 --git a/copyright b/copyright new file mode 100644 index 0000000..bb13cf7 --- /dev/null +++ b/copyright @@ -0,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 --git a/docs b/docs new file mode 100644 index 0000000..b43bf86 --- /dev/null +++ b/docs @@ -0,0 +1 @@ +README.md diff --git a/get_orig.sh b/get_orig.sh new file mode 100755 index 0000000..2e37887 --- /dev/null +++ b/get_orig.sh @@ -0,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 --git a/libslvs1-dev.install b/libslvs1-dev.install new file mode 100644 index 0000000..8de0fcd --- /dev/null +++ b/libslvs1-dev.install @@ -0,0 +1,2 @@ +usr/include/slvs.h +usr/lib/*/libslvs.so diff --git a/libslvs1.install b/libslvs1.install new file mode 100644 index 0000000..ffa6d6e --- /dev/null +++ b/libslvs1.install @@ -0,0 +1 @@ +usr/lib/*/libslvs.so.* diff --git a/patches/01_RemoveGitHash.patch b/patches/01_RemoveGitHash.patch new file mode 100644 index 0000000..4fd06ee --- /dev/null +++ b/patches/01_RemoveGitHash.patch @@ -0,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 --git a/patches/20_use_system_unifont.patch b/patches/20_use_system_unifont.patch new file mode 100644 index 0000000..2ece363 --- /dev/null +++ b/patches/20_use_system_unifont.patch @@ -0,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 --git a/patches/30_fix_ftbfs_glibc.patch b/patches/30_fix_ftbfs_glibc.patch new file mode 100644 index 0000000..f25ba9b --- /dev/null +++ b/patches/30_fix_ftbfs_glibc.patch @@ -0,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 --git a/patches/series b/patches/series new file mode 100644 index 0000000..8efde5d --- /dev/null +++ b/patches/series @@ -0,0 +1,3 @@ +01_RemoveGitHash.patch +20_use_system_unifont.patch +30_fix_ftbfs_glibc.patch diff --git a/rules b/rules new file mode 100755 index 0000000..d8309f6 --- /dev/null +++ b/rules @@ -0,0 +1,6 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +%: + dh $@ diff --git a/solvespace.1 b/solvespace.1 new file mode 100644 index 0000000..d997372 --- /dev/null +++ b/solvespace.1 @@ -0,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 --git a/solvespace.install b/solvespace.install new file mode 100644 index 0000000..0ca010a --- /dev/null +++ b/solvespace.install @@ -0,0 +1,3 @@ +usr/bin/solvespace +usr/share/applications +usr/share/icons diff --git a/solvespace.manpages b/solvespace.manpages new file mode 100644 index 0000000..be9c64a --- /dev/null +++ b/solvespace.manpages @@ -0,0 +1 @@ +debian/solvespace.1 diff --git a/solvespace.sharedmimeinfo b/solvespace.sharedmimeinfo new file mode 100644 index 0000000..4f6e2cf --- /dev/null +++ b/solvespace.sharedmimeinfo @@ -0,0 +1,8 @@ + + + + SolveSpace sketch + + + + diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/options b/source/options new file mode 100644 index 0000000..a799080 --- /dev/null +++ b/source/options @@ -0,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 --git a/watch b/watch new file mode 100644 index 0000000..72df02a --- /dev/null +++ b/watch @@ -0,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)) -- 2.30.2