Import solvespace_2.3+repack1-3.debian.tar.xz
authorAnton Gladky <gladk@debian.org>
Wed, 22 Nov 2017 08:54:12 +0000 (08:54 +0000)
committerAnton Gladky <gladk@debian.org>
Wed, 22 Nov 2017 08:54:12 +0000 (08:54 +0000)
[dgit import tarball solvespace 2.3+repack1-3 solvespace_2.3+repack1-3.debian.tar.xz]

20 files changed:
changelog [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
docs [new file with mode: 0644]
get_orig.sh [new file with mode: 0755]
libslvs1-dev.install [new file with mode: 0644]
libslvs1.install [new file with mode: 0644]
patches/01_RemoveGitHash.patch [new file with mode: 0644]
patches/20_use_system_unifont.patch [new file with mode: 0644]
patches/30_fix_ftbfs_glibc.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
rules [new file with mode: 0755]
solvespace.1 [new file with mode: 0644]
solvespace.install [new file with mode: 0644]
solvespace.manpages [new file with mode: 0644]
solvespace.sharedmimeinfo [new file with mode: 0644]
source/format [new file with mode: 0644]
source/options [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  Sat, 31 Dec 2016 09:54:59 +0100
+
+solvespace (2.1+repack2-1) unstable; urgency=medium
+
+  * Initial Release. (Closes: #797997)
+
+ -- Anton Gladky <gladk@debian.org>  Mon, 15 Aug 2016 22:31:44 +0200
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..f599e28
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+10
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..6fcfee3
--- /dev/null
+++ b/control
@@ -0,0 +1,67 @@
+Source: solvespace
+Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
+Uploaders: whitequark <whitequark@whitequark.org>,
+           Anton Gladky <gladk@debian.org>
+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 (file)
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 <whitequark@whitequark.org>
+ 2015-2016 Aleksey Egorov <anandamide@mail.ru>
+License: GPL-3.0+
+
+Files: debian/*
+Copyright: 2015-2016 whitequark <whitequark@whitequark.org>
+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 <rallazz@gmail.com>
+           2011 Eugene Osintsev <osgene@omskelecom.ru>
+           2011 Yoshimune Kobayashi <cfg47520@syd.odn.ne,jp>
+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 <http://www.gnu.org/licenses/>.
+ .
+ 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 <http://www.gnu.org/licenses/>.
+ .
+ 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 (file)
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 (executable)
index 0000000..2e37887
--- /dev/null
@@ -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 (file)
index 0000000..8de0fcd
--- /dev/null
@@ -0,0 +1,2 @@
+usr/include/slvs.h
+usr/lib/*/libslvs.so
diff --git a/libslvs1.install b/libslvs1.install
new file mode 100644 (file)
index 0000000..ffa6d6e
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libslvs.so.*
diff --git a/patches/01_RemoveGitHash.patch b/patches/01_RemoveGitHash.patch
new file mode 100644 (file)
index 0000000..4fd06ee
--- /dev/null
@@ -0,0 +1,16 @@
+Description: Remove git hash commit consideration
+Author: Anton Gladky <gladk@debian.org>
+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 (file)
index 0000000..2ece363
--- /dev/null
@@ -0,0 +1,56 @@
+Description: Use system packaged unifont
+Author: Anton Gladky <gladk@debian.org>
+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 $<TARGET_FILE:unifont2c>
+             ${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 (file)
index 0000000..f25ba9b
--- /dev/null
@@ -0,0 +1,126 @@
+Description: Fix FTBFS with glibc 2.25
+  Replace CHAR_WIDTH by CHAR_W_SOLVESPACE
+Author: Anton Gladky <gladk@debian.org>
+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 (file)
index 0000000..8efde5d
--- /dev/null
@@ -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 (executable)
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 (file)
index 0000000..d997372
--- /dev/null
@@ -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 (file)
index 0000000..0ca010a
--- /dev/null
@@ -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 (file)
index 0000000..be9c64a
--- /dev/null
@@ -0,0 +1 @@
+debian/solvespace.1
diff --git a/solvespace.sharedmimeinfo b/solvespace.sharedmimeinfo
new file mode 100644 (file)
index 0000000..4f6e2cf
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
+    <mime-type type="application/x-solvespace">
+    <comment>SolveSpace sketch</comment>
+    <glob pattern="*.slvs"/>
+    <generic-icon name="x-office-document"/>
+  </mime-type>
+</mime-info>
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/source/options b/source/options
new file mode 100644 (file)
index 0000000..a799080
--- /dev/null
@@ -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 (file)
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))