Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package vlang for openSUSE:Factory checked 
in at 2026-07-12 17:09:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vlang (Old)
 and      /work/SRC/openSUSE:Factory/.vlang.new.1991 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vlang"

Sun Jul 12 17:09:55 2026 rev:6 rq:1364987 version:0.5.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/vlang/vlang.changes      2026-01-22 
15:17:57.571680473 +0100
+++ /work/SRC/openSUSE:Factory/.vlang.new.1991/vlang.changes    2026-07-12 
17:10:05.099123800 +0200
@@ -1,0 +2,51 @@
+Sat Jul 11 11:53:55 UTC 2026 - Eyad Issa <[email protected]>
+
+- Require mbedtls-3-devel explicitly to fix compilation.
+- Drop 0006-Use-private-mbedtls-headers.patch: this patch was
+  originally added to attempt mbedtls 4.x compatibility but is
+  incorrect and unnecessary since mbedtls 3.x uses the standard
+  header paths (e.g. mbedtls/entropy.h).
+
+-------------------------------------------------------------------
+Thu Jun 26 12:00:00 UTC 2026 - Eyad Issa <[email protected]>
+
+- Use private mbedtls headers for compatibility with mbedtls 4.x
+  via 0006-Use-private-mbedtls-headers.patch.
+- Refresh all patches.
+
+-------------------------------------------------------------------
+Sat May 30 10:00:00 UTC 2026 - Eyad Issa <[email protected]>
+
+- Improve packaging:
+  * Unbundle cJSON and zstd via 0003-Unbundle-cJSON-and-zstd.patch.
+  * Fix undefined reference to cJSON_GetErrorPos when using system
+    libcjson via 0004-Fix-cJSON_GetErrorPos-undefined-reference.patch.
+  * Force use of system libgc on Linux via
+    0005-Force-system-libgc-on-Linux.patch.
+  * Enable vdoc by adding vlang/markdown as a dependency.
+  * Improve wrapper script to respect existing VFLAGS.
+  * Build intermediate stages without LTO to speed up bootstrapping.
+
+-------------------------------------------------------------------
+Tue Apr 14 23:04:28 UTC 2026 - Eyad Issa <[email protected]>
+
+- Remove stage2/3 diff check
+- Update to version 0.5.1:
+  * New clean and fast v2 backends: cleanc (similar to the old C
+    backend), ssa/arm64, ssa/amd64
+  * Add a new generic solver stage (gated behind
+    -new-generic-solver)
+  * Refactor $var to ${var} across entire repository, make vfmt
+    always output the newer form ${expr}
+  * Fix support for match exprs with nested if exprs
+  * Add OS-specific headers support for #include directives
+  * Multiple checker improvements and fixes
+  * Multiple parser improvements
+  * Improvements to standard library
+  * vfmt: Fix parser failing on duplicate methods in $if/$else
+    blocks
+  * Add support for v missdoc @vlib
+  * Add support for v quest
+  * Add support for v install --local gui
+
+-------------------------------------------------------------------

Old:
----
  vlang-0.5.tar.gz

New:
----
  0003-Unbundle-cJSON-and-zstd.patch
  0004-Fix-cJSON_GetErrorPos-undefined-reference.patch
  0005-Force-system-libgc-on-Linux.patch
  markdown.tar.gz
  vlang-0.5.1.tar.gz

----------(New B)----------
  New:- Improve packaging:
  * Unbundle cJSON and zstd via 0003-Unbundle-cJSON-and-zstd.patch.
  * Fix undefined reference to cJSON_GetErrorPos when using system
  New:  * Fix undefined reference to cJSON_GetErrorPos when using system
    libcjson via 0004-Fix-cJSON_GetErrorPos-undefined-reference.patch.
  * Force use of system libgc on Linux via
  New:  * Force use of system libgc on Linux via
    0005-Force-system-libgc-on-Linux.patch.
  * Enable vdoc by adding vlang/markdown as a dependency.
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vlang.spec ++++++
--- /var/tmp/diff_new_pack.EeLWBr/_old  2026-07-12 17:10:06.511171145 +0200
+++ /var/tmp/diff_new_pack.EeLWBr/_new  2026-07-12 17:10:06.511171145 +0200
@@ -2,7 +2,7 @@
 # spec file for package vlang
 #
 # Copyright (c) 2024, 2025 Boian Berberov
-# Copyright (c) 2025 Eyad Issa
+# Copyright (c) 2025, 2026 Eyad Issa
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 #
 
 # git revision
-%global vc_gitrev  294bff4ef87427743d0b35c0f7eb1b34a6dd061b
+%global vc_gitrev   f461dfebcdfac3c75fdf28fec80c07f0a7a9a53d
 
 # custom paths and variables
 %global vflags      -cc gcc -d dynamic_boehm
@@ -25,16 +25,22 @@
 %global vexe        %{vexe_root}/%{name}
 
 Name:           vlang
-Version:        0.5
+Version:        0.5.1
 Release:        0
 Summary:        The V Programming Language
 License:        MIT AND BSD-2-Clause
 URL:            https://vlang.io/
 Source0:        
https://github.com/%{name}/v/archive/%{version}/%{name}-%{version}.tar.gz
 Source1:        https://github.com/%{name}/vc/raw/%{vc_gitrev}/v.c
+# Vdoc requires markdown module
+Source2:        
https://github.com/vlang/markdown/archive/refs/heads/master.tar.gz#/markdown.tar.gz
 Source99:       vlang-rpmlintrc
 Patch1:         0001-Link-to-distro-provided-mbedtls.patch
 Patch2:         0002-Disable-vdoc-testing.patch
+Patch3:         0003-Unbundle-cJSON-and-zstd.patch
+Patch4:         0004-Fix-cJSON_GetErrorPos-undefined-reference.patch
+Patch5:         0005-Force-system-libgc-on-Linux.patch
+
 BuildRequires:  (c_compiler or gcc)
 BuildRequires:  diffutils
 BuildRequires:  fdupes
@@ -42,18 +48,15 @@
 BuildRequires:  pkgconfig
 # For VFLAGS="-d dynamic_boehm"
 BuildRequires:  pkgconfig(bdw-gc)
-BuildRequires:  pkgconfig(mbedcrypto)
-BuildRequires:  pkgconfig(mbedtls)
-BuildRequires:  pkgconfig(mbedx509)
+BuildRequires:  pkgconfig(libcjson)
+BuildRequires:  pkgconfig(libzstd)
+BuildRequires:  mbedtls-3-devel
 # For vshare tool
 BuildRequires:  pkgconfig(x11)
-# For VFLAGS="-d dynamic_boehm"
-# Required by compiler at runtime
 Requires:       pkgconfig(bdw-gc)
-# For the net.mbedtls module
-Requires:       pkgconfig(mbedcrypto)
-Requires:       pkgconfig(mbedtls)
-Requires:       pkgconfig(mbedx509)
+Requires:       pkgconfig(libcjson)
+Requires:       pkgconfig(libzstd)
+Requires:       mbedtls-3-devel
 
 %description
 V is a statically typed compiled programming language inspired
@@ -70,7 +73,12 @@
 This package contains examples for the V Programming Language.
 
 %prep
-%autosetup -n v-%{version} -p1
+%setup -q -n v-%{version}
+%autopatch -p1
+
+# Install markdown module for vdoc
+mkdir -p vlib/markdown
+tar -xf %{SOURCE2} --strip-components=1 -C vlib/markdown
 
 %build
 export CC=cc
@@ -95,30 +103,22 @@
 %endif
 
 # stage 0: build the V compiler from the transpiled C code
-${CC} ${CFLAGS} ${LDFLAGS} ${STAGE0_FLAGS} -o %{name}-stage0 %{SOURCE1}
+# Build intermediate stages without LTO to speed up bootstrapping
+${CC} ${CFLAGS/-flto=auto/} ${LDFLAGS/-flto=auto/} ${STAGE0_FLAGS} -o 
%{name}-stage0 %{SOURCE1}
 # stage 1: build without parallelism
 ./%{name}-stage0 ${VFLAGS} ${STAGE1_FLAGS} -o %{name}-stage1 cmd/v
 # stage 2: build with parallelism and -prod
 ./%{name}-stage1 ${VFLAGS} ${STAGE2_FLAGS} -o %{name}-stage2 cmd/v
 
-# stage 3: rebuild and check diff
+# stage 3: rebuild with full flags (including LTO)
 ./%{name}-stage2 ${VFLAGS} ${STAGE2_FLAGS} -o %{name} cmd/v
 
-diff --strip-trailing-cr -u %{name}-stage2 %{name}
-if [ $? -eq 0 ]; then
-  echo "Stage 3 build differs from the final build, please check the output 
above."
-fi
-
 # Replace some tools with dummy scripts
 echo "println('\"%{name} up\" is disabled for the packaged versions of V')"   
>  cmd/tools/vup.v
 echo "println('Use your package manager to update V')"                        
>> cmd/tools/vup.v
 echo "println('\"%{name} self\" is disabled for the packaged versions of V')" 
>  cmd/tools/vself.v
 echo "println('Use your package manager to update V')"                        
>> cmd/tools/vself.v
 
-# TODO: Skipping building vdoc until https://github.com/vlang/markdown is 
embedded in build
-sed -i -e "/^const tools_in_subfolders/s/ 'vdoc',//" cmd/tools/vbuild-tools.v
-rm -rf cmd/tools/vdoc
-
 # Set to not-empty to skip build-time V module cloning with `git`
 export VTEST_SANDBOXED_PACKAGING='yes'
 
@@ -131,7 +131,6 @@
 ./%{name} doctor
 
 # Build V tools
-./%{name} test-self
 ./%{name} -v build-tools
 
 # Do not attempt to rebuild after installation
@@ -168,7 +167,7 @@
 find . -type f -name '.gitignore' -print -delete
 
 # Replace hardcoded path to v in examples
-sed -i -e '1s:%{_prefix}/local/bin/v:%{_bindir}/%{name}:' examples/v_script.vsh
+sed -i -e '1s:%{_prefix}/local/bin/v:%{_bindir}/v:' examples/v_script.vsh
 
 # Copy files
 install -D -m 0755 %{name} %{buildroot}%{vexe}
@@ -181,19 +180,19 @@
     %{nil}
 
 # Run-time configuration wrapper
-# TODO: Add a proper VTMP
 install -d %{buildroot}%{_bindir}
-echo '#! %{_bindir}/sh
+cat << 'EOF' > %{buildroot}%{_bindir}/%{name}
+#!/bin/sh
 export VEXE="%{vexe}"
 export VCACHE="${HOME}/.cache/%{name}"
-export VFLAGS="%{vflags}"
+export VFLAGS="${VFLAGS:-%{vflags}}"
 
-exec ${VEXE} $@
-' > %{buildroot}%{_bindir}/%{name}
+exec "${VEXE}" "$@"
+EOF
 chmod 755 %{buildroot}%{_bindir}/%{name}
 
-# symlink /usr/bin/vlang to /usr/bin/v
-ln -rs %{buildroot}%{_bindir}/%{name} %{buildroot}%{_bindir}/v
+# Create symlink v -> vlang
+ln -s %{name} %{buildroot}%{_bindir}/v
 
 # Remove executable bits from examples
 find examples -type f -exec chmod 0644 {} \;
@@ -218,7 +217,6 @@
 %fdupes %{buildroot}%{_libexecdir}/%{name}/
 %fdupes %{buildroot}%{_datadir}/doc/%{name}/examples
 
-
 %files
 %license LICENSE
 %doc CHANGELOG.md README.md

++++++ 0001-Link-to-distro-provided-mbedtls.patch ++++++
--- /var/tmp/diff_new_pack.EeLWBr/_old  2026-07-12 17:10:06.535171950 +0200
+++ /var/tmp/diff_new_pack.EeLWBr/_new  2026-07-12 17:10:06.539172084 +0200
@@ -7,10 +7,10 @@
  vlib/net/mbedtls/mbedtls.c.v | 125 +----------------------------------
  1 file changed, 2 insertions(+), 123 deletions(-)
 
-diff --git a/vlib/net/mbedtls/mbedtls.c.v b/vlib/net/mbedtls/mbedtls.c.v
-index d18689e8c..61fc82b9b 100644
---- a/vlib/net/mbedtls/mbedtls.c.v
-+++ b/vlib/net/mbedtls/mbedtls.c.v
+Index: v-0.5.1/vlib/net/mbedtls/mbedtls.c.v
+===================================================================
+--- v-0.5.1.orig/vlib/net/mbedtls/mbedtls.c.v
++++ v-0.5.1/vlib/net/mbedtls/mbedtls.c.v
 @@ -1,128 +1,7 @@
  module mbedtls
  
@@ -142,7 +142,4 @@
  
  #include <mbedtls/net_sockets.h>
  #include <mbedtls/ssl.h>
--- 
-2.52.0
-
 

++++++ 0002-Disable-vdoc-testing.patch ++++++
--- /var/tmp/diff_new_pack.EeLWBr/_old  2026-07-12 17:10:06.555172620 +0200
+++ /var/tmp/diff_new_pack.EeLWBr/_new  2026-07-12 17:10:06.559172754 +0200
@@ -7,11 +7,11 @@
  cmd/tools/vtest-self.v | 1 -
  1 file changed, 1 deletion(-)
 
-diff --git a/cmd/tools/vtest-self.v b/cmd/tools/vtest-self.v
-index 9b4d73fef..472534d5d 100644
---- a/cmd/tools/vtest-self.v
-+++ b/cmd/tools/vtest-self.v
-@@ -25,7 +25,6 @@ const vroot = os.dir(os.real_path(os.getenv_opt('VEXE') or { 
@VEXE }))
+Index: v-0.5.1/cmd/tools/vtest-self.v
+===================================================================
+--- v-0.5.1.orig/cmd/tools/vtest-self.v
++++ v-0.5.1/cmd/tools/vtest-self.v
+@@ -25,7 +25,6 @@ const vroot = os.dir(os.real_path(os.get
  
  const essential_list = [
        'cmd/tools/vvet/vet_test.v',
@@ -19,7 +19,4 @@
        'vlib/arrays/arrays_test.v',
        'vlib/bitfield/bitfield_test.v',
        //
--- 
-2.52.0
-
 

++++++ 0003-Unbundle-cJSON-and-zstd.patch ++++++
Index: v-0.5.1/vlib/json/json_primitives.c.v
===================================================================
--- v-0.5.1.orig/vlib/json/json_primitives.c.v
+++ v-0.5.1/vlib/json/json_primitives.c.v
@@ -3,8 +3,7 @@
 // that can be found in the LICENSE file.
 module json
 
-#flag -I @VEXEROOT/thirdparty/cJSON
-#flag @VEXEROOT/thirdparty/cJSON/cJSON.o
+#pkgconfig libcjson
 #include "cJSON.h"
 #define js_get(object, key) cJSON_GetObjectItemCaseSensitive((object), (key))
 
Index: v-0.5.1/vlib/json/cjson/cjson_wrapper.c.v
===================================================================
--- v-0.5.1.orig/vlib/json/cjson/cjson_wrapper.c.v
+++ v-0.5.1/vlib/json/cjson/cjson_wrapper.c.v
@@ -8,8 +8,7 @@ module cjson
 // that has NULL leaves for example, which is currently not convenient/easy to 
do with just the
 // high level `json.encode(value)` API that V has.
 
-#flag -I @VEXEROOT/thirdparty/cJSON
-#flag @VEXEROOT/thirdparty/cJSON/cJSON.o
+#pkgconfig libcjson
 #include "cJSON.h"
 
 // As cJSON use `libm`, we need to link it.
Index: v-0.5.1/vlib/compress/zstd/zstd.c.v
===================================================================
--- v-0.5.1.orig/vlib/compress/zstd/zstd.c.v
+++ v-0.5.1/vlib/compress/zstd/zstd.c.v
@@ -5,8 +5,8 @@ module zstd
 import os
 import encoding.binary
 
-#flag -I @VMODROOT/thirdparty/zstd
-#include "zstd.c"      // msvc can't compile multiple source files, so included
+#pkgconfig libzstd
+#include <zstd.h>
 
 const frame_header_size_max = 18
 const content_size_unknown = u64(-1)

++++++ 0004-Fix-cJSON_GetErrorPos-undefined-reference.patch ++++++
From: Eyad Issa <[email protected]>
Date: Sat, 30 May 2026 10:00:00 +0200
Subject: [PATCH] Fix undefined reference to cJSON_GetErrorPos

The system-provided libcjson on openSUSE (v1.7.19) does not export
cJSON_GetErrorPos, which causes a linker error when unbundling cJSON.

This patch replaces the call to cJSON_GetErrorPos() with manual
pointer arithmetic: (error_ptr - (const char*)root). This is
functionally equivalent as error_ptr points into the root string.

---
 vlib/v/gen/c/json.v | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: v-0.5.1/vlib/v/gen/c/json.v
===================================================================
--- v-0.5.1.orig/vlib/v/gen/c/json.v
+++ v-0.5.1/vlib/v/gen/c/json.v
@@ -87,7 +87,7 @@ ${dec_fn_dec} {
        if (!root) {
                const char *error_ptr = cJSON_GetErrorPtr();
                if (error_ptr != NULL) {
-                       const ${ast.int_type_name} error_pos = 
(${ast.int_type_name})cJSON_GetErrorPos();
+                       const ${ast.int_type_name} error_pos = 
(${ast.int_type_name})(error_ptr - (const char*)root);
                        ${ast.int_type_name} maxcontext_chars = 30;
                        byte *buf = builtin__vcalloc_noscan(maxcontext_chars + 
10);
                        if (error_pos > 0) {

++++++ 0005-Force-system-libgc-on-Linux.patch ++++++
From: Eyad Issa <[email protected]>
Date: Sat, 30 May 2026 11:00:00 +0200
Subject: [PATCH] Force system libgc on Linux

V normally expects a static libgc.a inside thirdparty/tcc/lib/ when
compiling on Linux without the dynamic_boehm flag.

In a distro package, we don't want to use bundled static libraries.
This patch replaces the hardcoded path to the bundled libgc.a with
a generic -lgc flag, allowing the linker to find the system-provided
shared library.

---
 vlib/builtin/builtin_d_gcboehm.c.v | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: v-0.5.1/vlib/builtin/builtin_d_gcboehm.c.v
===================================================================
--- v-0.5.1.orig/vlib/builtin/builtin_d_gcboehm.c.v
+++ v-0.5.1/vlib/builtin/builtin_d_gcboehm.c.v
@@ -61,7 +61,7 @@ $if dynamic_boehm ? {
                                                #flag -Xlinker -rpath -Xlinker 
"@VEXEROOT/thirdparty/tcc/lib"
                                        }
                                } $else {
-                                       #flag 
@VEXEROOT/thirdparty/tcc/lib/libgc.a
+                                       #flag -lgc
                                }
                        }
                }
@@ -107,7 +107,7 @@ $if dynamic_boehm ? {
                        #flag -DGC_BUILTIN_ATOMIC=1
                        #flag -I @VEXEROOT/thirdparty/libgc/include
                        $if !use_bundled_libgc ? {
-                               #flag @VEXEROOT/thirdparty/tcc/lib/libgc.a
+                               #flag -lgc
                        }
                } $else $if msvc {
                        // Build libatomic_ops

++++++ v.c ++++++
++++ 50772 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/vlang/v.c
++++ and /work/SRC/openSUSE:Factory/.vlang.new.1991/v.c

++++++ vlang-0.5.tar.gz -> vlang-0.5.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/vlang/vlang-0.5.tar.gz 
/work/SRC/openSUSE:Factory/.vlang.new.1991/vlang-0.5.1.tar.gz differ: char 15, 
line 1

Reply via email to