SHA256
7
0
forked from pool/joker

Version update to 1.5.0, test change, patch removal

- Update to version 1.5.0
  * add NaN?, abs, infinite?, parse-boolean, parse-double,
    parse-long, partitionv, partitionv-all, splitv-at, repl to
    joker.core.
  * Linter improvements:
    * add add-tap, remove-tap and tap> to ClojureScript linter
    * add seq-to-map-for-destructuring to Clojure linter
    * add stream related functions (stream-into!, stream-into!,
      stream-seq!, stream-transduce!) to Clojure linter
  * Updated vendor archive
- Removal of obsolete reproducible.patch
- Disabling test suite for ix86. Was only written for 64-bit
This commit is contained in:
2025-07-10 16:19:51 +02:00
parent 2722e40b3b
commit 42b5199754
6 changed files with 31 additions and 100 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8744e077e420a40a78c215fe9c61adad2aa59e8a985ec5d59aeb75f93b2706f3
size 510798

BIN
joker-1.5.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,3 +1,19 @@
-------------------------------------------------------------------
Mon Jul 7 20:25:30 UTC 2025 - Jochen Breuer <brejoc@gmail.com> - 1.5.0
- Update to version 1.5.0
* add NaN?, abs, infinite?, parse-boolean, parse-double,
parse-long, partitionv, partitionv-all, splitv-at, repl to
joker.core.
* Linter improvements:
* add add-tap, remove-tap and tap> to ClojureScript linter
* add seq-to-map-for-destructuring to Clojure linter
* add stream related functions (stream-into!, stream-into!,
stream-seq!, stream-transduce!) to Clojure linter
* Updated vendor archive
- Removal of obsolete reproducible.patch
- Disabling test suite for ix86. Was only written for 64-bit
-------------------------------------------------------------------
Mon Jan 27 11:33:37 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>

View File

@@ -17,15 +17,13 @@
Name: joker
Version: 1.4.0
Version: 1.5.0
Release: 0
Summary: Small Clojure interpreter, linter and formatter written in Go
License: EPL-1.0
URL: https://joker-lang.org
Source0: https://github.com/candid82/joker/archive/refs/tags/v%{version}.tar.gz#/joker-%{version}.tar.gz
Source1: vendor.tar.gz
# PATCH-FIX-UPSTREAM https://github.com/candid82/joker/issues/491
Patch0: reproducible.patch
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mageia}
BuildRequires: go-rpm-macros
%else
@@ -39,17 +37,26 @@ Joker is a small Clojure interpreter, linter and formatter written in Go.
%prep
%autosetup -p1
tar -zxf %{SOURCE1}
%autopatch
%build
%ifarch %ix86
GO111MODULE=on CGO_ENABLED=1 go generate ./...
GO111MODULE=on CGO_ENABLED=1 go build -mod=vendor -o %{name} -buildmode=pie \
-ldflags "-s -w"
%else
GO111MODULE=on CGO_ENABLED=0 go generate ./...
GO111MODULE=on CGO_ENABLED=0 go build -mod=vendor -o %{name} -buildmode=pie \
-ldflags "-s -w"
%endif
%install
install -D -m0755 %{name} %{buildroot}%{_bindir}/%{name}
%check
%ifarch x86_64 amd64 aarch64
./all-tests.sh
%endif
%files
%license LICENSE

View File

@@ -1,92 +0,0 @@
From d2817bb18cd9cc0274460113a97dc87f2613d1ad Mon Sep 17 00:00:00 2001
From: Roman Bataev <roman@bataev.me>
Date: Sat, 14 Sep 2024 18:45:46 -0400
Subject: [PATCH] Make build stable.
Fixes https://github.com/candid82/joker/issues/491
---
core/pack.go | 45 +++++++++++++++++++++++++++++++++++++++++----
go.mod | 2 +-
2 files changed, 42 insertions(+), 5 deletions(-)
diff --git a/core/pack.go b/core/pack.go
index 01ceac9b0..dea1db5fc 100644
--- a/core/pack.go
+++ b/core/pack.go
@@ -4,6 +4,9 @@ import (
"bytes"
"encoding/binary"
"fmt"
+ "maps"
+ "slices"
+ "sort"
)
const (
@@ -77,16 +80,50 @@ func NewPackEnv() *PackEnv {
}
}
+type BindingPair struct {
+ binding *Binding
+ index int
+}
+type ByIndex []BindingPair
+
+func (a ByIndex) Len() int { return len(a) }
+func (a ByIndex) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
+func (a ByIndex) Less(i, j int) bool {
+ return a[i].index < a[j].index
+}
+
+type ByString []*string
+
+func (a ByString) Len() int { return len(a) }
+func (a ByString) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
+func (a ByString) Less(i, j int) bool {
+ if a[i] == nil {
+ return true
+ }
+ if a[j] == nil {
+ return false
+ }
+ return *a[i] < *a[j]
+}
+
func (env *PackEnv) Pack(p []byte) []byte {
var bp []byte
bp = appendInt(bp, len(env.Bindings))
+ var bindings []BindingPair
for k, v := range env.Bindings {
- bp = appendInt(bp, v)
- bp = k.Pack(bp, env)
+ bindings = append(bindings, BindingPair{k, v})
}
+ sort.Sort(ByIndex(bindings))
+ for _, pair := range bindings {
+ bp = appendInt(bp, pair.index)
+ bp = pair.binding.Pack(bp, env)
+ }
+
p = appendInt(p, len(env.Strings))
- for k, v := range env.Strings {
- p = appendUint16(p, v)
+ stringKeys := slices.Collect(maps.Keys(env.Strings))
+ sort.Sort(ByString(stringKeys))
+ for _, k := range stringKeys {
+ p = appendUint16(p, env.Strings[k])
if k == nil {
p = appendInt(p, -1)
} else {
diff --git a/go.mod b/go.mod
index 253fe40e2..74113364b 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
module github.com/candid82/joker
-go 1.20
+go 1.23
require (
github.com/candid82/liner v1.4.0

BIN
vendor.tar.gz (Stored with Git LFS)

Binary file not shown.