Github messages for voidlinux
 help / color / mirror / Atom feed
From: sgn <sgn@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] choosenim: update to 0.7.4. fix native build
Date: Fri, 20 Nov 2020 17:49:17 +0100	[thread overview]
Message-ID: <20201120164917.oaqoky35I-z44Cx5MWxkP_y0kzY4pfSjnZbrkEaPxfM@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-26520@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 398 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages choosenim-fix-native
https://github.com/void-linux/void-packages/pull/26520

choosenim: update to 0.7.4. fix native build
Still nocross, I haven't figured out why. Help appreciated.

A patch file from https://github.com/void-linux/void-packages/pull/26520.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-choosenim-fix-native-26520.patch --]
[-- Type: text/x-diff, Size: 10482 bytes --]

From 34c00d8e77b620619c7bd3d799bbb6c89b6d21cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 19 Nov 2020 23:16:50 +0700
Subject: [PATCH] choosenim: update to 0.7.4.

---
 ...3cd106185441604a55ef34968a2a37d6258a.patch |  25 -----
 ...ba5b72f8434eb690ae3b84f43968b8041a95.patch |  22 ----
 srcpkgs/choosenim/patches/ftbfs.patch         |  56 ----------
 .../choosenim/patches/system-libarchive.patch | 103 ++++++++++++++++++
 srcpkgs/choosenim/template                    |  42 ++++---
 5 files changed, 132 insertions(+), 116 deletions(-)
 delete mode 100644 srcpkgs/choosenim/patches/cfc83cd106185441604a55ef34968a2a37d6258a.patch
 delete mode 100644 srcpkgs/choosenim/patches/f7aeba5b72f8434eb690ae3b84f43968b8041a95.patch
 delete mode 100644 srcpkgs/choosenim/patches/ftbfs.patch
 create mode 100644 srcpkgs/choosenim/patches/system-libarchive.patch

diff --git a/srcpkgs/choosenim/patches/cfc83cd106185441604a55ef34968a2a37d6258a.patch b/srcpkgs/choosenim/patches/cfc83cd106185441604a55ef34968a2a37d6258a.patch
deleted file mode 100644
index a7445e39527..00000000000
--- a/srcpkgs/choosenim/patches/cfc83cd106185441604a55ef34968a2a37d6258a.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From cfc83cd106185441604a55ef34968a2a37d6258a Mon Sep 17 00:00:00 2001
-From: Dominik Picheta <dominikpicheta@googlemail.com>
-Date: Mon, 14 Oct 2019 21:09:23 +0100
-Subject: [PATCH] Fixes #142.
-
-Fixes regression in choosenim install script.
----
- scripts/choosenim-unix-init.sh | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/scripts/choosenim-unix-init.sh b/scripts/choosenim-unix-init.sh
-index a60b74b..89912cf 100755
---- scripts/choosenim-unix-init.sh
-+++ scripts/choosenim-unix-init.sh
-@@ -59,9 +59,8 @@ install() {
-     fi
- 
-     # Install Nim from desired channel.
--    "$temp_prefix/$filename" $CHOOSE_VERSION --firstInstall -y < /dev/tty
-+    "$temp_prefix/$filename" $CHOOSE_VERSION --firstInstall < /dev/tty
-   else
--    # TODO: Use the -y switch when choosenim gets support for it.
-     "$temp_prefix/$filename" $CHOOSE_VERSION --firstInstall -y
-   fi
- 
diff --git a/srcpkgs/choosenim/patches/f7aeba5b72f8434eb690ae3b84f43968b8041a95.patch b/srcpkgs/choosenim/patches/f7aeba5b72f8434eb690ae3b84f43968b8041a95.patch
deleted file mode 100644
index a9e8c153eb2..00000000000
--- a/srcpkgs/choosenim/patches/f7aeba5b72f8434eb690ae3b84f43968b8041a95.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From f7aeba5b72f8434eb690ae3b84f43968b8041a95 Mon Sep 17 00:00:00 2001
-From: Dominik Picheta <dominikpicheta@gmail.com>
-Date: Sun, 21 Apr 2019 20:29:41 +0100
-Subject: [PATCH] Fixes osinfo dependency conflict.
-
----
- choosenim.nimble | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/choosenim.nimble b/choosenim.nimble
-index d826357..b775d88 100644
---- choosenim.nimble
-+++ choosenim.nimble
-@@ -15,7 +15,7 @@ skipExt = @["nim"]
- 
- requires "nim >= 0.16.1", "nimble >= 0.8.5", "untar >= 0.1.0"
- requires "libcurl >= 1.0.0"
--requires "analytics >= 0.1.1"
-+requires "analytics >= 0.2.0"
- requires "osinfo >= 0.3.0"
- 
- task test, "Run the choosenim tester!":
diff --git a/srcpkgs/choosenim/patches/ftbfs.patch b/srcpkgs/choosenim/patches/ftbfs.patch
deleted file mode 100644
index f5bbc6ace2b..00000000000
--- a/srcpkgs/choosenim/patches/ftbfs.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-commit 53472069126088cd1d23d84aa4fdee9dc780f7d2
-Author: q66 <daniel@octaforge.org>
-Date:   Tue Dec 17 22:21:04 2019 +0100
-
-    fix build: undeclared identifier: 'NimbleError'
-
-diff --git choosenim.nimble choosenim.nimble
-index d826357..b91fac8 100644
---- choosenim.nimble
-+++ choosenim.nimble
-@@ -13,7 +13,7 @@ skipExt = @["nim"]
- 
- # Dependencies
- 
--requires "nim >= 0.16.1", "nimble >= 0.8.5", "untar >= 0.1.0"
-+requires "nim >= 0.16.1", "nimble#5bb795a", "untar >= 0.1.0"
- requires "libcurl >= 1.0.0"
- requires "analytics >= 0.1.1"
- requires "osinfo >= 0.3.0"
-diff --git src/choosenim/common.nim src/choosenim/common.nim
-index 197bfac..059d210 100644
---- src/choosenim/common.nim
-+++ src/choosenim/common.nim
-@@ -1,4 +1,4 @@
--import nimblepkg/common
-+import nimblepkg/version
- 
- type
-   ChooseNimError* = object of NimbleError
-@@ -19,4 +19,4 @@ const
-     "g++",
-     "gdb",
-     "ld"
--  ]
-\ No newline at end of file
-+  ]
-diff --git src/choosenim/proxyexe.nim src/choosenim/proxyexe.nim
-index 9c9c761..829df8f 100644
---- src/choosenim/proxyexe.nim
-+++ src/choosenim/proxyexe.nim
-@@ -4,7 +4,7 @@
- 
- import strutils, os, osproc
- 
--import nimblepkg/[cli, options]
-+import nimblepkg/[cli, options, version]
- import nimblepkg/common as nimbleCommon
- import cliparams
- from common import ChooseNimError, mingwProxies
-@@ -71,4 +71,4 @@ when isMainModule:
- 
-     display("Info:", "If unexpected, please report this error to " &
-             "https://github.com/dom96/choosenim", Warning, HighPriority)
--    quit(1)
-\ No newline at end of file
-+    quit(1)
diff --git a/srcpkgs/choosenim/patches/system-libarchive.patch b/srcpkgs/choosenim/patches/system-libarchive.patch
new file mode 100644
index 00000000000..a102f0c13b3
--- /dev/null
+++ b/srcpkgs/choosenim/patches/system-libarchive.patch
@@ -0,0 +1,103 @@
+diff --git choosenim.nimble choosenim.nimble
+index 7ba9b36..dc47faa 100644
+--- choosenim.nimble
++++ choosenim.nimble
+@@ -14,7 +14,7 @@ skipExt = @["nim"]
+ # Dependencies
+ 
+ requires "nim >= 1.2.6", "nimble#8f7af86"
+-requires "nimterop >= 0.6.12", "nimarchive >= 0.5.3"
++requires "nimterop >= 0.6.12"
+ #requires "libcurl >= 1.0.0" - OSX now uses httpclient
+ requires "analytics >= 0.2.0"
+ requires "osinfo >= 0.3.0"
+diff --git nimarchive/nimarchive/archive.nim nimarchive/nimarchive/archive.nim
+index 1d45140..d5361e0 100644
+--- nimarchive/nimarchive/archive.nim
++++ nimarchive/nimarchive/archive.nim
+@@ -2,28 +2,6 @@ import os, strutils
+ 
+ import nimterop/[build, cimport]
+ 
+-const
+-  baseDir = getProjectCacheDir("nimarchive" / "libarchive")
+-
+-  defs = """
+-    archiveStatic
+-    archiveJBB
+-    archiveSetVer=3.4.3
+-
+-    iconvStatic
+-    iconvStd
+-    iconvJBB
+-    iconvSetVer=1.16.0
+-  """
+-
+-setDefines(defs.splitLines())
+-
+-getHeader(
+-  header = "archive.h",
+-  outdir = baseDir,
+-  jbburi = "LibArchive",
+-  jbbFlags = "url=https://bintray.com/genotrance/binaries/download_file?file_path=LibArchive-v$1/ skip=libiconv"
+-)
+ 
+ import iconv
+ 
+@@ -52,9 +30,7 @@ static:
+   cSkipSymbol(@["archive_read_open_file", "archive_write_open_file"])
+ 
+ let
+-  archiveEntryPath {.compileTime.} = archivePath[0 .. ^3] & "_entry.h"
++  archivePath {.compileTime.} = "archive.h"
++  archiveEntryPath {.compileTime.} = "archive_entry.h"
+ 
+-when archiveStatic:
+-  cImport(@[archivePath, archiveEntryPath], recurse = true)
+-else:
+-  cImport(@[archivePath, archiveEntryPath], recurse = true, dynlib = archiveLPath)
++cImport(@[archivePath, archiveEntryPath], recurse = false)
+diff --git nimarchive/nimarchive/iconv.nim nimarchive/nimarchive/iconv.nim
+index d983398..4f61a5b 100644
+--- nimarchive/nimarchive/iconv.nim
++++ nimarchive/nimarchive/iconv.nim
+@@ -2,15 +2,3 @@ import os, strutils
+ 
+ import nimterop/build
+ 
+-const
+-  baseDir = getProjectCacheDir("nimarchive" / "iconv")
+-
+-getHeader(
+-  header = "iconv.h",
+-  dlurl = "https://ftp.gnu.org/gnu/libiconv/libiconv-$1.tar.gz",
+-  conanuri = "libiconv",
+-  jbburi = "Libiconv",
+-  jbbFlags = "url=https://bintray.com/genotrance/binaries/download_file?file_path=Libiconv-v$1/",
+-  outdir = baseDir,
+-  conFlags = "--enable-static=yes --with-pic=yes"
+-)
+diff --git src/choosenimpkg/ssl.nim src/choosenimpkg/ssl.nim
+index f20b246..7576066 100644
+--- src/choosenimpkg/ssl.nim
++++ src/choosenimpkg/ssl.nim
+@@ -2,19 +2,3 @@ import strutils
+ 
+ import nimterop/[build, cimport]
+ 
+-# Download openssl from JuliaBinaryWrappers
+-setDefines(@[
+-  "cryptoJBB", "cryptoStatic"
+-])
+-
+-getHeader(
+-  "crypto.h",
+-  jbburi = "openssl",
+-  outdir = getProjectCacheDir("nimopenssl")
+-)
+-
+-const
+-  sslLPath = cryptoLPath.replace("crypto", "ssl")
+-
+-# Link static binaries
+-{.passL: sslLPath & " " & cryptoLPath.}
diff --git a/srcpkgs/choosenim/template b/srcpkgs/choosenim/template
index d31e065edf0..fb5e9152b22 100644
--- a/srcpkgs/choosenim/template
+++ b/srcpkgs/choosenim/template
@@ -1,20 +1,22 @@
 # Template file for 'choosenim'
 pkgname=choosenim
-version=0.4.0
+version=0.7.4
 revision=1
-hostmakedepends="git nim"
-makedepends="libressl-devel zlib-devel"
+hostmakedepends="git nim libressl-devel pkg-config"
+makedepends="libressl-devel zlib-devel libarchive-devel"
 depends="gcc"
 short_desc="Nim toolchain installer"
 maintainer="SolitudeSF <solitudesf@protonmail.com>"
 license="MIT"
 homepage="https://github.com/dom96/choosenim"
-distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=d7b04314666a3647c255f89031deabe53f8e281b6cfbf3a0848272fc1799c0f3
+distfiles="${homepage}/archive/v${version}.tar.gz>choosenim-${version}.tar.gz
+ https://github.com/genotrance/nimarchive/archive/v0.5.4.tar.gz>nimarchive-0.5.4.tar.gz"
+checksum="0e78a59cfb3cf7926f8dff3a4215949ccfaecd6c6dddc3b2e062098b5da03edb
+ c38e8c66c2eac2bc021d450f2b60d0e45c5355df963d0133930448639c0bd8d4"
 
-if [ -n "$CROSS_BUILD" ]; then
-	hostmakedepends+=" libressl-devel"
-fi
+post_extract() {
+	mv ../nimarchive-0.5.4 nimarchive
+}
 
 do_build() {
 	local arch args
@@ -26,14 +28,28 @@ do_build() {
 		ppc64*)   arch=powerpc64;;
 		ppc*)     arch=powerpc;;
 	esac
+	LDFLAGS+=" $($PKG_CONFIG --libs-only-l --static openssl)"
+	LDFLAGS+=" $($PKG_CONFIG --libs-only-l --static libarchive)"
+	LDFLAGS+=" -lrt -ldl"
+	: >nim.cfg
+	if [ -z "$CROSS_BUILD" ]; then
+		cat >>nim.cfg <<-EOF
+		gcc.options.always = "$CPPFLAGS $CFLAGS -pthread"
+		gcc.options.linker = "$LDFLAGS"
+		EOF
+	fi
 	if [ -n "$arch" ]; then
-		cat > nim.cfg <<EOF
-$arch.linux.gcc.exe = "$CC"
-$arch.linux.gcc.linkerexe = "$CC"
-EOF
+		cat >>nim.cfg <<-EOF
+		$arch.linux.gcc.exe = "$CC"
+		$arch.linux.gcc.linkerexe = "$CC"
+		$arch.linux.gcc.options.always = "$CPPFLAGS $CFLAGS -pthread"
+		$arch.linux.gcc.options.linker = "$LDFLAGS"
+		EOF
 		args="--cpu:$arch"
 	fi
-	nimble -y build -d:release --passC:-flto "$args"
+	ln -sf $XBPS_CROSS_BASE/usr/include/archive.h src
+	ln -sf $XBPS_CROSS_BASE/usr/include/archive_entry.h src
+	nimble -y build -d:release --passC:-flto "$args" --path:$wrksrc/nimarchive
 }
 
 do_install() {

  reply	other threads:[~2020-11-20 16:49 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-20  2:19 [PR PATCH] " sgn
2020-11-20 16:49 ` sgn [this message]
2020-11-21  0:26 ` [PR PATCH] [Merged]: " sgn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201120164917.oaqoky35I-z44Cx5MWxkP_y0kzY4pfSjnZbrkEaPxfM@z \
    --to=sgn@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).