SHA256
10
0
forked from pool/lua-luv
Files
lua-luv/lua-luv.spec
Matěj Cepl 956c6b7557 Upgrade to 1.51.0-1:
- Fix use-after-free in new_thread
    - feat: add binding for semaphore to test synchronization
    - ci: Add check that docs.md and meta.lua are up-to-date
    - docs: move to new directory
    - Remove unused function luv_gc_cb
Upgrade to 1.51.0-0:
    - Bump Libuv to 1.51.0
        - Added the constants FS_UTIME_NOW and FS_UTIME_OMIT
        - Made the atime/mtime parameters of
          fs_utime/fs_futime/fs_lutime accept nil, a string, or
          a number. If nil, the argument is translated to
          FS_UTIME_OMIT. If it is a string, it must be "omit" or
          "now".
        - Adds the constant TTY_MODE_RAW_VT ("raw_vt" is the
          shorthand string version) (context:
          libuv/libuv@843b64f)
    - Fix typos
    - feat(doc): move to structured format
    - Update luv-scm-0.rockspec
    - feat(doc): generate meta file
Upgrade to v1.50.0-1:
    - test-misc: Allow big endian WTF-16, too
    - Clean up test step and exclude it from the "all" target
    - rework luv work vm storage into userdata
Upgrade to v1.50.0-0:
    - docs: Clarify types for mode arg in some filesystem
      functions
    - Disable flaky UDP test on macOS CI
    - ci: handle EBUSY for udp
    - Lua 5.4.7 update
    - Clean up and expand docs for constants/options
    - docs: typo fix
    - update submodules
    - Remove unnecessary allocation from wtf8 functions
    - Bump Libuv to 1.49.1
    - Bump Libuv to 1.49.2
    - Support Lua integer in thread and async arguments
    - Fix a misleading skip message in test-tty.lua
    - Use main thread of current Lua state for callbacks, when
      known
    - luv_cfpcall: Fix stack balancing after an uncaught error
    - try safe handle external handle
    - Update minimum cmake version to 3.10
    - fix: prevent calling uv.run while already running.
    - move luv_work_cleanup into loop gc
    - fix unused-variable warning
    - test-dns: Don't skip 'Get only ipv6 tcp adresses for
      luvit.io' test
    - Bump Libuv to 1.50.0
    - bump LuaJIT to v2.1.1736781742
Upgrade to 1.48.0-2:
    - Fix garbage collection of scandir reqs
        - This fixes a regression (use-after-free) that was
          introduced in 1.48.0-1, see #694 (comment)
    - Fix a few instances of undefined behavior caught by UBSan
    - msvcbuild: Set MSVC 2022 as the default
Upgrade to 1.48.0-1:
    - fix memory leak in fs.scandir sync mode
    - bump lua-compat-5.3 to 0.13
Upgrade to v1.48.0-0:
    - fix: Use os_uname() to check for Linux
    - docs: typo in a table field name
    - docs: most new_handle methods won't return fail
    - test-tty: Don't depend on stdin/stdout handle type
    - Bump/libuv
    - Annotate .gitmodules with branch and tag
Upgrade to v1.47.0-0:
    - Bump/luajit
    - docs: Correct uv.spawn options.args docs about the first
      argument
    - Remove redundant CMake policy change
    - docs: new_async callback is not optional
    - update submodule
    - Bump version to 1.47.0 in CMakeLists.txt
Upgrade to 1.46.0-0:
    - update libuv to v1.46.0
    - chore: update uv.tty_set_mode, and add tty test
    - chore: fix crash in loop_gc
    - fix: avoid dir be gc early.
    - fix: callback handle error with non-strings
    - docs: make process_kill signum arg optional
    - docs: add missing uv.os_unsetenv() parameter
    - docs: make uv.kill's signum optional
Remove upstreamed patch luv-fix-segfault-from-gc.patch
2025-07-25 21:42:24 +02:00

124 lines
3.5 KiB
RPMSpec

#
# spec file
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2012 Togan Muftuoglu toganm@opensuse.org
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%if %{lua_version_nodots} == 51
%define lua_default 1
%endif
%define mod_name luv
%define upver 1.51.0-1
%define fixver %(echo %{upver}|sed 's|-|+|g')
%define libluv_sover 1
%define flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == ""
Name: lua-%{mod_name}
ExclusiveArch: do_not_build
%else
Name: %{flavor}-%{mod_name}
%endif
Version: %{fixver}
Release: 0
Summary: Bare libuv bindings for lua
License: Apache-2.0
Group: Development/Languages/Other
URL: https://github.com/luvit/luv
Source0: https://github.com/luvit/luv/releases/download/%{upver}/luv-%{upver}.tar.gz
Patch0: lua-link.patch
Patch1: luv-module-install.patch
BuildRequires: %{flavor}-compat-5.3
BuildRequires: %{flavor}-devel
BuildRequires: %{flavor}-luafilesystem
BuildRequires: cmake
BuildRequires: libuv-devel
BuildRequires: lua-macros
Requires: %{flavor}
%lua_provides
%if "%{flavor}" == "lua"
ExclusiveArch: do_not_build
%endif
%description
This library makes libuv available to lua scripts. It was made
for the luvit project but should usable from nearly any lua
project.
The library can be used by multiple threads at once. Each thread
is assumed to load the library from a different lua_State. Luv
will create a unique uv_loop_t for each state. You can't share uv
handles between states/loops.
The best docs currently are the libuv docs themselves. Hopfully
soon we'll have a copy locally tailored for lua.
%if 0%{?lua_default}
%package -n libluv-devel
Summary: Header files for %{flavor}-%{mod_name}
Group: Development/Languages/Other
Requires: libluv%{libluv_sover} = %{version}
%description -n libluv-devel
This subpackage contains header files for developing applications that
want to make use of %{flavor}-%{mod_name}.
%package -n libluv%{libluv_sover}
Summary: Lua bindings for libluv as a library
Group: System/Libraries
%description -n libluv%{libluv_sover}
This library makes libuv available to lua scripts. It was made
for the luvit project but should usable from nearly any lua
project.
%post -n libluv%{libluv_sover} -p /sbin/ldconfig
%postun -n libluv%{libluv_sover} -p /sbin/ldconfig
%endif
%prep
echo "Name is %{name}, Flavor is %{flavor}"
%autosetup -p1 -n %{mod_name}-%{upver}
%build
%cmake \
-DWITH_SHARED_LIBUV=ON -DWITH_LUA_ENGINE=Lua \
-DLUA_BUILD_TYPE=System -DMODULE_INSTALL_LIB_DIR=%{lua_archdir} \
-DSHAREDLIBS_INSTALL_LIB_DIR=%{_libdir} -DBUILD_SHARED_LIBS=OFF \
-DLUA_COMPAT53_DIR="%{lua_incdir}" \
%{?lua_default:-DBUILD_SHARED_LIBS=ON}
%cmake_build
%install
%cmake_install
%files
%license LICENSE.txt
%doc *.md
%{lua_archdir}/luv.so
%if 0%{?lua_default}
%files -n libluv-devel
%license LICENSE.txt
%{_includedir}/%{mod_name}
%{_libdir}/libluv.so
%{_libdir}/pkgconfig/*.pc
%files -n libluv%{libluv_sover}
%{_libdir}/libluv.so.*
%endif
%changelog