Received: from out1.migadu.com (out1.migadu.com [91.121.223.63]) by nld3-dev1.alpinelinux.org (Postfix) with ESMTPS id 9619C781D6C for <~alpine/aports@lists.alpinelinux.org>; Thu, 15 Oct 2020 20:37:48 +0000 (UTC) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpwn.com; s=key1; t=1602794265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=SBPOcz27YiS/Q+j+bpV89oBrOgXJx/GNzSDxfE8dbx4=; b=Ep0ZWr/btKo9erX2qQvg5kpoYDRGK+svNs3QGMdn6g9PUnNhJCODOkC/VyZ+LbKyvv++oO EQoyM0IfBKP6PVOgq/usYhAo2p1/tN/90FThZ7pU/eUVL3GtaImUDIw0zJmqcxVYYlEHGK DhUKH9uS+raF95ulwe1jakz6bR/iWnmvvNaL4WG5l6cu3TgPsDSHLp5xg5bynGbZSkKleo 9tdyDAtopET2uo5ndYwHbLXnCXmxlWk7OiQOpM+mo5JcyaEiVL8T7Lu7pzBAkBV8bZTIFi IrMv3VFcs08ZMv6Rp834BVWNjOXDJQdTowPACSxY3oRqlVyLTJxk+YeI/FA78Q== From: Drew DeVault To: ~alpine/aports@lists.alpinelinux.org Cc: Drew DeVault Subject: [PATCH] testing/solvespace: new aport Date: Thu, 15 Oct 2020 16:37:41 -0400 Message-Id: <20201015203741.14789-1-sir@cmpwn.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.00 --- testing/solvespace/APKBUILD | 44 +++++++++ testing/solvespace/textwindow.patch | 145 ++++++++++++++++++++++++++++ 2 files changed, 189 insertions(+) create mode 100644 testing/solvespace/APKBUILD create mode 100644 testing/solvespace/textwindow.patch diff --git a/testing/solvespace/APKBUILD b/testing/solvespace/APKBUILD new file mode 100644 index 0000000000..6762168b2a --- /dev/null +++ b/testing/solvespace/APKBUILD @@ -0,0 +1,44 @@ +# Maintainer: Drew DeVault +pkgname=solvespace +pkgver=2.3 +pkgrel=0 +_dxtlibver=0b7b7b709d9299565db603f878214656ef5e9ddf +_solvespace_commit=7c1ca460769fc8cbef26d296338d4bbc6f2ef6d0 +pkgdesc="A parametric 3D CAD program" +arch="all" +url="https://solvespace.com" +license="GPL-3.0-only" +makedepends="cmake glew-dev gtkmm-dev json-c-dev" +subpackages="$pkgname-dev" +source=" + $pkgname-$pkgver.tar.gz::https://github.com/$pkgname/$pkgname/archive/v$pkgver.tar.gz + dtxlib-$_dxtlibver.tar.gz::https://github.com/solvespace/libdxfrw/archive/$_dxtlibver.tar.gz + textwindow.patch +" + +prepare() { + default_prepare + + rm -r extlib/libdxfrw + ln -s "$srcdir"/libdxfrw-$_dxtlibver extlib/libdxfrw + + sed -i CMakeLists.txt \ + -e 's/include(GetGitCommitHash)/#\0/g' \ + -e "s/# set(GIT_COMMIT_HASH.*/set(GIT_COMMIT_HASH $_solvespace_commit)/g" +} + +build() { + cmake . \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib/"$pkgname" \ + -DCMAKE_BUILD_TYPE=Release + make +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="9d22e467337591cd9a4935124d18733b8337f5785ab5738f4a94300f283ffe7d313569e379ae77e509d14182ffde8c9db7beaebb46ea7c0507c6b05010fe1a56 solvespace-2.3.tar.gz +9ab498aa7f369be79d800e8ca5ec55fa54be79d0778937b81d4c8da776b3419cb8a75400b54b205efc338da32e2e781afd0bed1bd8efed1a0b212dc8682a2615 dtxlib-0b7b7b709d9299565db603f878214656ef5e9ddf.tar.gz +ae690f0e40c8d934fd454ad243804eecab9058eaac3e04bebf50a4fe4544f688f7a11af93b1911d19e4015a5b991a66b90149fc965248463328346e95502957c textwindow.patch" diff --git a/testing/solvespace/textwindow.patch b/testing/solvespace/textwindow.patch new file mode 100644 index 0000000000..684bea9a13 --- /dev/null +++ b/testing/solvespace/textwindow.patch @@ -0,0 +1,145 @@ +From 7c2417ab735cf05960939647a2a016fb51f88135 Mon Sep 17 00:00:00 2001 +From: whitequark +Date: Thu, 6 Apr 2017 06:59:00 +0000 +Subject: [PATCH] Rename TextWindow::CHAR_WIDTH to CHAR_WIDTH_. + +glibc defines a CHAR_WIDTH macro in limits.h since about 6.3.*. +This is apparently added as a part of ISO TS 18661-1:2014, which +I cannot read because it is not publicly available, and which covers +some sort of floating-point extensions. This is one of those changes +that should never have been done yet here we are. +--- + src/textwin.cpp | 18 +++++++++--------- + src/toolbar.cpp | 2 +- + src/ui.h | 2 +- + src/win32/w32main.cpp | 6 +++--- + 4 files changed, 14 insertions(+), 14 deletions(-) + +diff --git a/src/textwin.cpp b/src/textwin.cpp +index 656ac626..b229beb3 100644 +--- a/src/textwin.cpp ++++ b/src/textwin.cpp +@@ -85,7 +85,7 @@ void TextWindow::ShowEditControl(int col, const std::string &str, int halfRow) { + editControl.halfRow = halfRow; + editControl.col = col; + +- int x = LEFT_MARGIN + CHAR_WIDTH*col; ++ int x = LEFT_MARGIN + CHAR_WIDTH_*col; + int y = (halfRow - SS.TW.scrollPos)*(LINE_HEIGHT/2); + + ShowTextEditControl(x, y + 18, str); +@@ -447,7 +447,7 @@ void TextWindow::DrawOrHitTestIcons(int how, double mx, double my) + 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_WIDTH_ - 1); + ox = min(ox, (double) (width - 25) - tw); + oy = max(oy, 5.0); + +@@ -583,7 +583,7 @@ bool TextWindow::DrawOrHitTestColorPicker(int how, bool leftDown, + int width, height; + GetTextWindowSize(&width, &height); + +- int px = LEFT_MARGIN + CHAR_WIDTH*editControl.col; ++ int px = LEFT_MARGIN + CHAR_WIDTH_*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_WIDTH_)+1, (int) MAX_COLS); c++) { ++ int x = LEFT_MARGIN + c*CHAR_WIDTH_; + 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_WIDTH_, 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_WIDTH_, yp); ++ glVertex2d(LEFT_MARGIN + cf*CHAR_WIDTH_, yp); + glEnd(); + + glEnable(GL_TEXTURE_2D); +@@ -979,7 +979,7 @@ void TextWindow::MouseEvent(bool leftClick, bool leftDown, double x, double y) { + 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_WIDTH_); + int hh = (LINE_HEIGHT)/2; + y += scrollPos*hh; + int r; +diff --git a/src/toolbar.cpp b/src/toolbar.cpp +index 77f795f0..1c3544b8 100644 +--- a/src/toolbar.cpp ++++ b/src/toolbar.cpp +@@ -218,7 +218,7 @@ bool GraphicsWindow::ToolbarDrawOrHitTest(int mx, int my, + } + } + +- int tw = str.length() * (SS.TW.CHAR_WIDTH - 1) + 10, ++ int tw = str.length() * (SS.TW.CHAR_WIDTH_ - 1) + 10, + th = SS.TW.LINE_HEIGHT + 2; + + double ox = toolbarMouseX + 3, oy = toolbarMouseY + 3; +diff --git a/src/ui.h b/src/ui.h +index a041ed36..81f5aea5 100644 +--- a/src/ui.h ++++ b/src/ui.h +@@ -27,7 +27,7 @@ class TextWindow { + float fgColorTable[256*3]; + + enum { +- CHAR_WIDTH = 9, ++ CHAR_WIDTH_ = 9, + CHAR_HEIGHT = 16, + LINE_HEIGHT = 20, + LEFT_MARGIN = 6, +diff --git a/src/win32/w32main.cpp b/src/win32/w32main.cpp +index 562499bd..88ff95d4 100644 +--- a/src/win32/w32main.cpp ++++ b/src/win32/w32main.cpp +@@ -138,7 +138,7 @@ void SolveSpace::DoMessageBox(const char *str, int rows, int cols, bool error) + 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_WIDTH_ + 20, + height = rows*SS.TW.LINE_HEIGHT + 60; + MessageWidth = width; + MessageHeight = height; +@@ -546,7 +546,7 @@ LRESULT CALLBACK TextWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) + r->top += extra; + break; + } +- int tooNarrow = (SS.TW.MIN_COLS*SS.TW.CHAR_WIDTH) - ++ int tooNarrow = (SS.TW.MIN_COLS*SS.TW.CHAR_WIDTH_) - + (r->right - r->left); + if(tooNarrow >= 0) { + switch(wParam) { +@@ -1367,7 +1367,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, + 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_WIDTH_, 0, 0, + FW_REGULAR, false, + false, false, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, + DEFAULT_QUALITY, FF_DONTCARE, L"Lucida Console"); -- 2.28.0