diff --git a/libguile-2.0.11-arm-asm.patch b/libguile-2.0.11-arm-asm.patch deleted file mode 100644 index e87691d..0000000 --- a/libguile-2.0.11-arm-asm.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- guile-2.0.11/libguile/vm-i-scheme.c.orig 2016-05-16 11:11:30.490598931 +0200 -+++ guile-2.0.11/libguile/vm-i-scheme.c 2016-05-16 11:12:00.738677032 +0200 -@@ -363,7 +363,7 @@ - { \ - scm_t_signed_bits rlo, rhi; \ - asm ("smull %0, %1, %2, %3\n" \ -- : "=r" (rlo), "=r" (rhi) \ -+ : "=&r" (rlo), "=&r" (rhi) \ - : "r" (SCM_UNPACK (x) - scm_tc2_int), \ - "r" (SCM_I_INUM (y))); \ - if (SCM_LIKELY (SCM_SRS (rlo, 31) == rhi)) \ diff --git a/libguile-3.0.10-backport-fix-x86-build.patch b/libguile-3.0.10-backport-fix-x86-build.patch new file mode 100644 index 0000000..fef245c --- /dev/null +++ b/libguile-3.0.10-backport-fix-x86-build.patch @@ -0,0 +1,465 @@ +From 635c8b74084b9bc7076a7808cc4d3fd4241b7753 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= +Date: Thu, 22 Mar 2018 21:01:34 +0100 +Subject: Build fix + + +diff --git a/libguile/posix.c b/libguile/posix.c +index 9a873b5..3c106cb 100644 +--- a/libguile/posix.c ++++ b/libguile/posix.c +@@ -475,11 +475,13 @@ SCM_DEFINE (scm_getgrgid, "getgr", 0, 1, 0, + return SCM_BOOL_F; + } + } +- else if (scm_is_integer (name)) +- SCM_SYSCALL (entry = getgrgid (scm_to_int (name))); +- else ++ else if (scm_is_integer (name)) { ++ SCM_SYSCALL (entry = getgrgid (scm_to_int (name))); ++ } ++ else { + STRING_SYSCALL (name, c_name, +- entry = getgrnam (c_name)); ++ entry = getgrnam (c_name)); ++ } + if (!entry) + SCM_SYSERROR; + +-- +2.45.2 + + +From 39fcff0a518d9dd93db1eb873e721ca7eb4566ba Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Joachim=20Mairb=C3=B6ck?= +Date: Sat, 10 Aug 2024 17:53:51 +0200 +Subject: avoid a static_assert not matching our definition of WEXITSTATUS + + +diff --git a/libguile/posix.c b/libguile/posix.c +index 3c106cb..cfcc14e 100644 +--- a/libguile/posix.c ++++ b/libguile/posix.c +@@ -100,7 +100,7 @@ + + #ifndef W_EXITCODE + /* Macro for constructing a status value. Found in glibc. */ +-# ifdef _WIN32 /* see Gnulib's posix-w32.h */ ++# if defined(_WIN32) || defined(__HAIKU__) /* see Gnulib's posix-w32.h */ + # define W_EXITCODE(ret, sig) (ret) + # else + # define W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) +-- +2.45.2 + + +From fbb171cea06ed27b88e4880221c10a8df0121999 Mon Sep 17 00:00:00 2001 +From: Andy Wingo +Date: Mon, 23 Sep 2024 15:57:23 +0200 +Subject: Narrow parameter of logand/immediate if no bits used + +* module/language/cps/specialize-numbers.scm (specialize-operations): +Narrow ulogand/immediate param according to used bits. + +diff --git a/module/language/cps/specialize-numbers.scm b/module/language/cps/specialize-numbers.scm +index 4ec8887..f932507 100644 +--- a/module/language/cps/specialize-numbers.scm ++++ b/module/language/cps/specialize-numbers.scm +@@ -1,6 +1,6 @@ + ;;; Continuation-passing style (CPS) intermediate language (IL) + +-;; Copyright (C) 2015-2021, 2023 Free Software Foundation, Inc. ++;; Copyright (C) 2015-2021,2023-2024 Free Software Foundation, Inc. + + ;;;; This library is free software; you can redistribute it and/or + ;;;; modify it under the terms of the GNU Lesser General Public +@@ -561,9 +561,11 @@ BITS indicating the significant bits needed for a variable. BITS may be + (specialize-unop cps k src op param a + (unbox-u64 a) (box-u64 result)))) + +- (('logand/immediate (? u64-result? ) param (? u64-operand? a)) ++ (('logand/immediate (? u64-result?) param (? u64-operand? a)) + (specialize-unop cps k src 'ulogand/immediate +- (logand param (1- (ash 1 64))) ++ (logand param ++ (or (intmap-ref sigbits result) -1) ++ (1- (ash 1 64))) + a + (unbox-u64 a) (box-u64 result))) + +-- +2.45.2 + + +From b368da11577f700ec05962d8389917bae35deae0 Mon Sep 17 00:00:00 2001 +From: Andy Wingo +Date: Tue, 24 Sep 2024 09:24:15 +0200 +Subject: Partially revert d579848cb5d65440af5afd9c8968628665554c22 + +* module/language/cps/specialize-numbers.scm (specialize-operations): +Accept any operand to logand/immediate, provided the result is a u64 in +the right range. + +diff --git a/module/language/cps/specialize-numbers.scm b/module/language/cps/specialize-numbers.scm +index f932507..cd88453 100644 +--- a/module/language/cps/specialize-numbers.scm ++++ b/module/language/cps/specialize-numbers.scm +@@ -561,13 +561,13 @@ BITS indicating the significant bits needed for a variable. BITS may be + (specialize-unop cps k src op param a + (unbox-u64 a) (box-u64 result)))) + +- (('logand/immediate (? u64-result?) param (? u64-operand? a)) ++ (('logand/immediate (? u64-result?) param a) + (specialize-unop cps k src 'ulogand/immediate + (logand param + (or (intmap-ref sigbits result) -1) + (1- (ash 1 64))) + a +- (unbox-u64 a) (box-u64 result))) ++ (unbox-u64/truncate a) (box-u64 result))) + + (((or 'add/immediate 'sub/immediate 'mul/immediate) + (? s64-result?) (? s64-parameter?) (? s64-operand? a)) +-- +2.45.2 + + +From 969157f83456271cba247f49c601af14af2dcd12 Mon Sep 17 00:00:00 2001 +From: Andy Wingo +Date: Wed, 25 Sep 2024 17:23:06 +0200 +Subject: Fix fixpoint needed-bits computation in specialize-numbers + +* module/language/cps/specialize-numbers.scm (next-power-of-two): Use +integer-length. No change. +(compute-significant-bits): Fix the fixpoint computation, which was +failing to complete in some cases with loops. + +diff --git a/module/language/cps/specialize-numbers.scm b/module/language/cps/specialize-numbers.scm +index cd88453..f70c28e 100644 +--- a/module/language/cps/specialize-numbers.scm ++++ b/module/language/cps/specialize-numbers.scm +@@ -265,10 +265,7 @@ + (sigbits-intersect a (sigbits-intersect b c))) + + (define (next-power-of-two n) +- (let lp ((out 1)) +- (if (< n out) +- out +- (lp (ash out 1))))) ++ (ash 1 (integer-length n))) + + (define (range->sigbits min max) + (cond +@@ -310,18 +307,16 @@ + BITS indicating the significant bits needed for a variable. BITS may be + #f to indicate all bits, or a non-negative integer indicating a bitmask." + (let ((preds (invert-graph (compute-successors cps kfun)))) +- (let lp ((worklist (intmap-keys preds)) (visited empty-intset) +- (out empty-intmap)) ++ (let lp ((worklist (intmap-keys preds)) (out empty-intmap)) + (match (intset-prev worklist) + (#f out) + (label +- (let ((worklist (intset-remove worklist label)) +- (visited* (intset-add visited label))) ++ (let ((worklist (intset-remove worklist label))) + (define (continue out*) +- (if (and (eq? out out*) (eq? visited visited*)) +- (lp worklist visited out) ++ (if (eq? out out*) ++ (lp worklist out) + (lp (intset-union worklist (intmap-ref preds label)) +- visited* out*))) ++ out*))) + (define (add-def out var) + (intmap-add out var 0 sigbits-union)) + (define (add-defs out vars) +@@ -352,12 +347,10 @@ BITS indicating the significant bits needed for a variable. BITS may be + (($ $values args) + (match (intmap-ref cps k) + (($ $kargs _ vars) +- (if (intset-ref visited k) +- (fold (lambda (arg var out) +- (intmap-add out arg (intmap-ref out var) +- sigbits-union)) +- out args vars) +- out)) ++ (fold (lambda (arg var out) ++ (intmap-add out arg (intmap-ref out var (lambda (_) 0)) ++ sigbits-union)) ++ out args vars)) + (($ $ktail) + (add-unknown-uses out args)))) + (($ $call proc args) +-- +2.45.2 + + +From 4201abe9c88460b6961fd8b8e215ca63e11257b0 Mon Sep 17 00:00:00 2001 +From: Andy Wingo +Date: Wed, 25 Sep 2024 17:24:51 +0200 +Subject: Fix boxing of non-fixnum negative u64 values + +* module/language/cps/specialize-numbers.scm (u64->fixnum/truncate): New +helper. +(specialize-operations): Fix specialized boxing of u64 values to +truncate possibly-negative values, to avoid confusing CSE. Fixes +https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71891. + +diff --git a/module/language/cps/specialize-numbers.scm b/module/language/cps/specialize-numbers.scm +index f70c28e..b46919a 100644 +--- a/module/language/cps/specialize-numbers.scm ++++ b/module/language/cps/specialize-numbers.scm +@@ -115,6 +115,13 @@ + (letk ks64 ($kargs ('s64) (s64) ,tag-body)) + (build-term + ($continue ks64 src ($primcall 'u64->s64 #f (u64)))))) ++(define (u64->fixnum/truncate cps k src u64 bits) ++ (with-cps cps ++ (letv truncated) ++ (let$ tag-body (u64->fixnum k src truncated)) ++ (letk ku64 ($kargs ('truncated) (truncated) ,tag-body)) ++ (build-term ++ ($continue ku64 src ($primcall 'ulogand/immediate bits (u64)))))) + (define-simple-primcall scm->u64) + (define-simple-primcall scm->u64/truncate) + (define-simple-primcall u64->scm) +@@ -473,7 +480,19 @@ BITS indicating the significant bits needed for a variable. BITS may be + (define (box-s64 result) + (if (fixnum-result? result) tag-fixnum s64->scm)) + (define (box-u64 result) +- (if (fixnum-result? result) u64->fixnum u64->scm)) ++ (call-with-values ++ (lambda () ++ (lookup-post-type types label result 0)) ++ (lambda (type min max) ++ (cond ++ ((and (type<=? type &exact-integer) ++ (<= 0 min max (target-most-positive-fixnum))) ++ u64->fixnum) ++ ((only-fixnum-bits-used? result) ++ (lambda (cps k src u64) ++ (u64->fixnum/truncate cps k src u64 (intmap-ref sigbits result)))) ++ (else ++ u64->scm))))) + (define (box-f64 result) + f64->scm) + +-- +2.45.2 + + +From 48f4b4d7e351008488eeb2366351be3caec5b4ac Mon Sep 17 00:00:00 2001 +From: Andy Wingo +Date: Thu, 26 Sep 2024 11:14:52 +0200 +Subject: Run sigbits fixpoint based on use/def graph, not cfg + +* module/language/cps/specialize-numbers.scm (sigbits-ref): New helper. +(invert-graph*): New helper. +(compute-significant-bits): When visiting a term changes computed +needed-bits for one of its definitions, we need to revisit the variables +that contributed to its result (the uses), because they might need more +bits as well. Previously we were doing this by enqueueing predecessors +to the term, which worked if the uses were defined in predecessors, or +if all defining terms were already in the worklist, which is the case +without loops. But with loops, when revisiting a term, you could see +that it causes sigbits to change, enqueue its predecessors, but then the +predecessors don't change anything and the fixpoint stops before +reaching the definitions of the variables we need. So instead we +compute the use-def graph and enqueue defs directly. + +diff --git a/module/language/cps/specialize-numbers.scm b/module/language/cps/specialize-numbers.scm +index b46919a..4983326 100644 +--- a/module/language/cps/specialize-numbers.scm ++++ b/module/language/cps/specialize-numbers.scm +@@ -286,6 +286,9 @@ + (and (type<=? type (logior &exact-integer &u64 &s64)) + (range->sigbits min max))))) + ++(define (sigbits-ref sigbits var) ++ (intmap-ref sigbits var (lambda (_) 0))) ++ + (define significant-bits-handlers (make-hash-table)) + (define-syntax-rule (define-significant-bits-handler + ((primop label types out def ...) param arg ...) +@@ -297,24 +300,42 @@ + (define-significant-bits-handler ((logand label types out res) param a b) + (let ((sigbits (sigbits-intersect3 (inferred-sigbits types label a) + (inferred-sigbits types label b) +- (intmap-ref out res (lambda (_) 0))))) ++ (sigbits-ref out res)))) + (intmap-add (intmap-add out a sigbits sigbits-union) + b sigbits sigbits-union))) + (define-significant-bits-handler ((logand/immediate label types out res) param a) + (let ((sigbits (sigbits-intersect3 (inferred-sigbits types label a) + param +- (intmap-ref out res (lambda (_) 0))))) ++ (sigbits-ref out res)))) + (intmap-add out a sigbits sigbits-union))) + + (define (significant-bits-handler primop) + (hashq-ref significant-bits-handlers primop)) + ++(define (invert-graph* defs) ++ "Given a graph LABEL->VAR..., return a graph VAR->LABEL.... Like the one ++in (language cps graphs), but different because it doesn't assume that ++the domain will be the same before and after." ++ (persistent-intmap ++ (intmap-fold (lambda (label vars out) ++ (intset-fold ++ (lambda (var out) ++ (intmap-add! out var (intset label) intset-union)) ++ vars ++ out)) ++ defs ++ empty-intmap))) ++ + (define (compute-significant-bits cps types kfun) + "Given the locally inferred types @var{types}, compute a map of VAR -> + BITS indicating the significant bits needed for a variable. BITS may be + #f to indicate all bits, or a non-negative integer indicating a bitmask." +- (let ((preds (invert-graph (compute-successors cps kfun)))) +- (let lp ((worklist (intmap-keys preds)) (out empty-intmap)) ++ (let ((cps (intmap-select cps (compute-function-body cps kfun)))) ++ ;; Label -> Var... ++ (define-values (defs uses) (compute-defs-and-uses cps)) ++ ;; Var -> Label... ++ (define defs-by-var (invert-graph* defs)) ++ (let lp ((worklist (intmap-keys cps)) (out empty-intmap)) + (match (intset-prev worklist) + (#f out) + (label +@@ -322,69 +343,36 @@ BITS indicating the significant bits needed for a variable. BITS may be + (define (continue out*) + (if (eq? out out*) + (lp worklist out) +- (lp (intset-union worklist (intmap-ref preds label)) ++ (lp (intset-fold ++ (lambda (use worklist) ++ (intset-union worklist (intmap-ref defs-by-var use))) ++ (intmap-ref uses label) ++ worklist) + out*))) +- (define (add-def out var) +- (intmap-add out var 0 sigbits-union)) +- (define (add-defs out vars) +- (match vars +- (() out) +- ((var . vars) (add-defs (add-def out var) vars)))) +- (define (add-unknown-use out var) ++ (define (add-unknown-use var out) + (intmap-add out var (inferred-sigbits types label var) + sigbits-union)) +- (define (add-unknown-uses out vars) +- (match vars +- (() out) +- ((var . vars) +- (add-unknown-uses (add-unknown-use out var) vars)))) ++ (define (default) ++ (intset-fold add-unknown-use (intmap-ref uses label) out)) + (continue + (match (intmap-ref cps label) +- (($ $kfun src meta self) +- (if self (add-def out self) out)) +- (($ $kargs names vars term) +- (let ((out (add-defs out vars))) +- (match term +- (($ $continue k src exp) +- (match exp +- ((or ($ $const) ($ $prim) ($ $fun) ($ $const-fun) +- ($ $code) ($ $rec)) +- ;; No uses, so no info added to sigbits. +- out) +- (($ $values args) +- (match (intmap-ref cps k) +- (($ $kargs _ vars) +- (fold (lambda (arg var out) +- (intmap-add out arg (intmap-ref out var (lambda (_) 0)) +- sigbits-union)) +- out args vars)) +- (($ $ktail) +- (add-unknown-uses out args)))) +- (($ $call proc args) +- (add-unknown-use (add-unknown-uses out args) proc)) +- (($ $callk label proc args) +- (let ((out (add-unknown-uses out args))) +- (if proc +- (add-unknown-use out proc) +- out))) +- (($ $calli args callee) +- (add-unknown-uses (add-unknown-use out callee) args)) +- (($ $primcall name param args) +- (let ((h (significant-bits-handler name))) +- (if h +- (match (intmap-ref cps k) +- (($ $kargs _ defs) +- (h label types out param args defs))) +- (add-unknown-uses out args)))))) +- (($ $branch kf kt src op param args) +- (add-unknown-uses out args)) +- (($ $switch kf kt src arg) +- (add-unknown-use out arg)) +- (($ $prompt k kh src escape? tag) +- (add-unknown-use out tag)) +- (($ $throw src op param args) +- (add-unknown-uses out args))))) +- (_ out))))))))) ++ (($ $kargs _ _ ($ $continue k _ ($ $primcall op param args))) ++ (match (significant-bits-handler op) ++ (#f (default)) ++ (h ++ (match (intmap-ref cps k) ++ (($ $kargs _ defs) ++ (h label types out param args defs)))))) ++ (($ $kargs _ _ ($ $continue k _ ($ $values args))) ++ (match (intmap-ref cps k) ++ (($ $kargs _ vars) ++ (fold (lambda (arg var out) ++ (intmap-add out arg (sigbits-ref out var) ++ sigbits-union)) ++ out args vars)) ++ (($ $ktail) ++ (default)))) ++ (_ (default)))))))))) + + (define (specialize-operations cps) + (define (u6-parameter? param) +@@ -416,7 +404,7 @@ BITS indicating the significant bits needed for a variable. BITS may be + (define (all-u64-bits-set? var) + (operand-in-range? var &exact-integer (1- (ash 1 64)) (1- (ash 1 64)))) + (define (only-fixnum-bits-used? var) +- (let ((bits (intmap-ref sigbits var))) ++ (let ((bits (sigbits-ref sigbits var))) + (and bits (= bits (logand bits (target-most-positive-fixnum)))))) + (define (fixnum-result? result) + (or (only-fixnum-bits-used? result) +@@ -429,7 +417,7 @@ BITS indicating the significant bits needed for a variable. BITS may be + min max + (target-most-positive-fixnum))))))) + (define (only-u64-bits-used? var) +- (let ((bits (intmap-ref sigbits var))) ++ (let ((bits (sigbits-ref sigbits var))) + (and bits (= bits (logand bits (1- (ash 1 64))))))) + (define (u64-result? result) + (or (only-u64-bits-used? result) +@@ -490,7 +478,7 @@ BITS indicating the significant bits needed for a variable. BITS may be + u64->fixnum) + ((only-fixnum-bits-used? result) + (lambda (cps k src u64) +- (u64->fixnum/truncate cps k src u64 (intmap-ref sigbits result)))) ++ (u64->fixnum/truncate cps k src u64 (sigbits-ref sigbits result)))) + (else + u64->scm))))) + (define (box-f64 result) +@@ -576,7 +564,7 @@ BITS indicating the significant bits needed for a variable. BITS may be + (('logand/immediate (? u64-result?) param a) + (specialize-unop cps k src 'ulogand/immediate + (logand param +- (or (intmap-ref sigbits result) -1) ++ (or (sigbits-ref sigbits a) -1) + (1- (ash 1 64))) + a + (unbox-u64/truncate a) (box-u64 result))) +-- +2.45.2 + diff --git a/libguile.spec b/libguile.spec index 5a9a920..36fbe78 100644 --- a/libguile.spec +++ b/libguile.spec @@ -1,7 +1,7 @@ %define majversion %(echo %version | cut -d. -f 1-2) Name: libguile -Version: 3.0.9 -Release: 1mamba +Version: 3.0.10 +Release: 2mamba Summary: A GNU implementation of Scheme for application extensibility Group: Development/Applications Vendor: openmamba @@ -9,7 +9,7 @@ Distribution: openmamba Packager: Silvan Calarco URL: http://www.gnu.org/software/guile/guile.html Source: http://ftp.gnu.org/gnu/guile/guile-%{version}.tar.xz -Patch0: libguile-2.0.11-arm-asm.patch +Patch0: libguile-3.0.10-backport-fix-x86-build.patch License: LGPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel @@ -19,6 +19,7 @@ BuildRequires: libgmp-devel BuildRequires: libncurses-devel BuildRequires: libreadline-devel BuildRequires: libunistring-devel +BuildRequires: libxcrypt-devel ## AUTOBUILDREQ-END BuildRequires: libunistring-devel >= 0.9.6-1mamba BuildRequires: pkg-config @@ -61,56 +62,23 @@ You'll also need to install the guile package. %prep %setup -q -n guile-%{version} - -%define _use_internal_dependency_generator 0 - -%define __find_provides %{_builddir}/guile-%{version}/find_provides.sh -cat > %{_builddir}/guile-%{version}/find_provides.sh <<_EOF -#! /bin/sh -grep -v \.go\$ | \ -%{_prefix}/lib/rpm/find-provides %{buildroot} %{_target_cpu} -_EOF -chmod +x %{_builddir}/guile-%{version}/find_provides.sh - -%define __find_requires %{_builddir}/guile-%{version}/find_requires.sh -cat > %{_builddir}/guile-%{version}/find_requires.sh <<_EOF -#! /bin/sh -grep -v %{buildroot}%{_libdir}/guile/%{majversion}/ccache/ice-9 | \ -%{_prefix}/lib/rpm/find-requires %{buildroot} %{_target_cpu} 2>/dev/null -_EOF -chmod +x %{_builddir}/guile-%{version}/find_requires.sh +#-D -T +%ifarch %{ix86} +%patch 0 -p1 -b .backport-fix-x86-build +%endif %build +#:<< _EOF %configure \ --with-threads \ --disable-static \ - --disable-error-on-warning \ -%ifarch arm - --enable-jit=no \ - CFLAGS="%{optflags} -O1" -%endif - -#% make scmconfig.h \ -# -j1 \ -# -C libguile - -# Guile forgets to set it's onw shard lib path to use shared uninstalled apps. -# It ain't pretty, but it works. -#LD_LIBRARY_PATH="`pwd`/libguile/.libs:`pwd`/qt/.libs:`pwd`/libguile-ltdl/.libs" \ + --disable-error-on-warning %make -#\ -# LDFLAGS="-L`pwd`/libguile/.libs" - %install [ "%{buildroot}" != "/" ] && rm -rf "%{buildroot}" -## Convince guile to be packaged. -#perl -p -i -e "s|^libdir.*|libdir='%{buildroot}%{_libdir}'|g" \ -# guile-readline/libguilereadline.la -#perl -p -i -e "s|^relink_command.*||g" guile-readline/libguilereadline.la - %makeinstall ## Fix up libtool libraries. @@ -131,7 +99,7 @@ mv %{buildroot}%{_libdir}/*.scm %{buildroot}%{_datadir}/gdb/auto-load/%{_libdir} #rm -f %{buildroot}%{_bindir}/guile-func-name-check #rm -f %{buildroot}%{_bindir}/guile-snarf.awk #rm -rf %{buildroot}/usr/include/guile-readline -#rm -rf %{buildroot}%{_datadir}/info/dir +rm -rf %{buildroot}%{_datadir}/info/dir ## Compress large documentation #bzip2 NEWS @@ -139,8 +107,6 @@ mv %{buildroot}%{_libdir}/*.scm %{buildroot}%{_datadir}/gdb/auto-load/%{_libdir} %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig %posttrans tools if [ $1 -ge 1 ]; then @@ -148,18 +114,17 @@ if [ $1 -ge 1 ]; then fi : -#% define info_files goops guile-tut guile r5rs -# -#% post devel -#for info_file in %info_files -# do %install_info $info_file.info -#done -# -#% preun devel -#for info_file in %info_files -# do %uninstall_info $info_file.info -#done -#: +%post devel +for info_file in guile r5rs + do %install_info $info_file.info +done +: + +%preun devel +for info_file in guile r5rs + do %uninstall_info $info_file.info +done +: %files %defattr(-,root,root,-) @@ -186,7 +151,8 @@ fi %{_libdir}/libguile-%{majversion}.so %{_libdir}/pkgconfig/guile-%{majversion}.pc %{_datadir}/aclocal/* -%{_infodir}/* +%{_infodir}/guile.info* +%{_infodir}/r5rs.info* #%doc ChangeLog GUILE-VERSION HACKING NEWS.bz2 README %files tools @@ -201,6 +167,12 @@ fi %{_datadir}/gdb/auto-load/%{_libdir}/*.scm %changelog +* Thu Oct 31 2024 Silvan Calarco 3.0.10-2mamba +- remove conflicting info.dir, specfile fixes + +* Mon Oct 28 2024 Automatic Build System 3.0.10-1mamba +- automatic update by autodist + * Tue Mar 28 2023 Automatic Build System 3.0.9-1mamba - automatic update by autodist