Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package lfortran for openSUSE:Factory checked in at 2026-09-14 16:20:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lfortran (Old) and /work/SRC/openSUSE:Factory/.lfortran.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lfortran" Mon Sep 14 16:20:37 2026 rev:7 rq:1377594 version:0.65.0 Changes: -------- --- /work/SRC/openSUSE:Factory/lfortran/lfortran.changes 2024-12-17 19:24:00.403032689 +0100 +++ /work/SRC/openSUSE:Factory/.lfortran.new.1265/lfortran.changes 2026-09-14 16:20:38.557183697 +0200 @@ -1,0 +2,35 @@ +Sat Sep 12 16:33:15 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to 0.65.0, 23 releases ahead of 0.42.0: + * Coarray progress: FORM/CHANGE TEAM, SYNC TEAM, coshape, + lcobound/ucobound, allocatable coarrays, PRIF lowering + * Submodules, separate compilation (--separate-compilation, + --semantics-only, --rename-symbol) + * New intrinsics: rand, sleep, system, iargc/getarg aliases, + sinpi/cospi/tanpi family, is_contiguous, compiler_options, + selected_logical_kind, idnint + * I/O specifiers: iostat/iomsg on open/flush/backspace/endfile/ + rewind, delim/pad/round/sign/decimal/blank/position/action + * VOLATILE attribute, F2023 DATA statement, EQUIVALENCE fixes, + unlimited polymorphic variables, user functions may shadow + intrinsics + * Interactive: per-cell translation units, walrus operator, + kernel rich display support + * Stack buffer overflow fix in get_local_info_dwarfdump and + other hardening; see upstream release notes for the full list +- Switch Source0 to the GitHub release tarball, the old host no + longer serves 0.65.0 +- Build against LLVM 22, the newest version tested by upstream CI +- Allow aarch64 builds, Debian ships this release on arm64 +- Drop the stale CMAKE_PREFIX_PATH pinning the llvm18 directory +- Disable WITH_STACKTRACE like Fedora and upstream CI, ON no + longer links the standalone liblfortran_parser/liblfortran_c + libs (neither LLVM-symbolize nor BFD is linked there) +- Add test-only BuildRequires python3-toml, link the tests with + gcc (clang22 ships no bare clang), package the new + ISO_Fortran_binding.h header +- Skip the one known aarch64-only test failure + (lfortran/lfortran#2981, complex evaluator case), full suite + still runs on other arches + +------------------------------------------------------------------- Old: ---- lfortran-0.42.0.tar.gz New: ---- lfortran-0.65.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lfortran.spec ++++++ --- /var/tmp/diff_new_pack.fh7Sht/_old 2026-09-14 16:20:39.606227859 +0200 +++ /var/tmp/diff_new_pack.fh7Sht/_new 2026-09-14 16:20:39.609227986 +0200 @@ -1,7 +1,7 @@ # # spec file for package lfortran # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,50 +17,50 @@ %global _lto_cflags %{?_lto_cflags} -ffat-lto-objects - -Version: 0.42.0 %global sover 0 +%global lfortran_desc \ +LFortran is a modern open-source (BSD licensed) interactive Fortran \ +compiler built on top of LLVM. It can execute user's code interactively \ +to allow exploratory work (much like Python, MATLAB or Julia) as well as \ +compile to binaries with the goal to run user's code on modern \ +architectures such as multi-core CPUs and GPUs. Name: lfortran +Version: 0.65.0 Release: 0 Summary: A modern interactive Fortran compiler built on top of LLVM - # Main code is BSD-3-Clause # src/libasr/codegen/KaleidoscopeJIT.h is available under the Apache 2.0 # License with LLVM exception License: Apache-2.0 WITH LLVM-exception AND BSD-3-Clause URL: https://lfortran.org/ -Source0: https://lfortran.github.io/tarballs/release/lfortran-%{version}.tar.gz - -# https://github.com/lfortran/lfortran/issues/2981 -ExclusiveArch: x86_64 - +Source0: https://github.com/lfortran/lfortran/releases/download/v%{version}/lfortran-%{version}.tar.gz BuildRequires: binutils-devel BuildRequires: bison BuildRequires: cmake -BuildRequires: fmt-devel BuildRequires: gcc-c++ >= 8 BuildRequires: kokkos-devel -BuildRequires: nlohmann_json-devel -# kokkos is not link, but only use for backend=cpp -Requires: kokkos-devel -BuildRequires: libffi-devel -BuildRequires: libunwind-devel -BuildRequires: libuuid-devel -BuildRequires: libzstd-devel BuildRequires: libzstd-devel-static -BuildRequires: llvm19-devel -BuildRequires: python3-devel -BuildRequires: rapidjson-devel +BuildRequires: llvm22-devel +BuildRequires: nlohmann_json-devel +BuildRequires: pkgconfig +# test-only: asr test scripts import toml +BuildRequires: python3-toml BuildRequires: re2c -BuildRequires: zlib-devel BuildRequires: zlib-devel-static - -%global lfortran_desc \ -LFortran is a modern open-source (BSD licensed) interactive Fortran \ -compiler built on top of LLVM. It can execute user's code interactively \ -to allow exploratory work (much like Python, MATLAB or Julia) as well as \ -compile to binaries with the goal to run user's code on modern \ -architectures such as multi-core CPUs and GPUs. +BuildRequires: pkgconfig(RapidJSON) +BuildRequires: pkgconfig(fmt) +BuildRequires: pkgconfig(libffi) +BuildRequires: pkgconfig(libunwind) +BuildRequires: pkgconfig(libzstd) +# spec-cleaner would expand python3-devel to stale versioned pkgconfig() names +BuildRequires: python3-devel +BuildRequires: pkgconfig(uuid) +BuildRequires: pkgconfig(zlib) +# kokkos is not link, but only use for backend=cpp +Requires: kokkos-devel +# Upstream tests fail on other arches (lfortran/lfortran#2981); +# Debian builds this release on arm64, so allow aarch64 too +ExclusiveArch: x86_64 aarch64 %description %{lfortran_desc} @@ -99,14 +99,17 @@ # WITH_ZSD is just used to fix static linking of llvm # not needed on Fedora # WASM=OFF due to lfortran/lfortran#3899 -%cmake -DCMAKE_PREFIX_PATH=%{_libdir}/llvm18/ \ - -DWITH_LLVM=ON \ +# WITH_STACKTRACE=OFF like Fedora and upstream CI: ON bakes +# stacktrace providers into stacktrace.cpp.o, which is also bundled +# into the standalone liblfortran_parser/liblfortran_c shared libs +# that link neither LLVM-symbolize nor BFD, failing --no-undefined +%cmake -DWITH_LLVM=ON \ -DWITH_ZSTD=OFF \ -DWITH_RUNTIME_LIBRARY=ON \ -DWITH_FMT=ON \ -DWITH_JSON=ON \ -DWITH_KOKKOS=ON \ - -DWITH_STACKTRACE=ON \ + -DWITH_STACKTRACE=OFF \ -DWITH_TARGET_WASM=OFF \ -DWITH_UNWIND=ON \ -DWITH_WHEREAMI=ON \ @@ -119,14 +122,25 @@ %cmake_install %check +# tests link with a bare clang, use gcc instead (upstream's own +# LFORTRAN_LINKER escape hatch); clang22 only ships clang-22 +export LFORTRAN_LINKER="gcc" +# lfortran/lfortran#2981: the FortranEvaluator complex case fails on +# aarch64 (complex return convention unimplemented for non-x86), run +# the full suite everywhere else +%ifarch aarch64 +(cd build && ctest --output-on-failure -E '^test_lfortran$') +./build/src/lfortran/tests/test_lfortran --test-case-exclude='*single complex*' +%else %ctest +%endif -%ldconfig_scriptlets -n liblfortran%sover +%ldconfig_scriptlets -n liblfortran%{sover} %files %doc README.md %{_bindir}/lfortran -%{_mandir}/man1/lfortran.1.* +%{_mandir}/man1/lfortran.1%{?ext_man} %files -n liblfortran%{sover} %license LICENSE @@ -135,6 +149,7 @@ %files devel %dir %{_includedir}/lfortran %dir %{_includedir}/lfortran/impure +%{_includedir}/lfortran/ISO_Fortran_binding.h %{_includedir}/lfortran/impure/lfortran_intrinsics.h %{_libdir}/liblfortran_runtime.so %{_libdir}/lfortran_*.mod ++++++ lfortran-0.42.0.tar.gz -> lfortran-0.65.0.tar.gz ++++++ ++++ 627930 lines of diff (skipped)
