%global commit0 81fd4b9a7d3fce2bf3e32ceed8eeee26a9bb6b62 %global commitdate0 20260420 %global shortcommit0 %(c=%{commit0}; echo ${c:0:11}) Name: noweb Version: 2.13^%{commitdate0}g%{shortcommit0} Release: 1%{?dist} Summary: WEB-like literate-programming tool License: BSD-2-Clause # We cannot extract debug data. %global debug_package %{nil} %global forgeurl0 https://github.com/nrnrnr/noweb %forgemeta -a URL: https://www.cs.tufts.edu/~nr/noweb Source0: %{forgesource0} BuildRequires: icon BuildRequires: gcc BuildRequires: make BuildRequires: emacs-nox BuildRequires: texlive-base Requires: gawk Requires: icon Requires: emacs-filesystem Requires: texlive-base %description noweb is designed to meet the needs of literate programmers while remaining as simple as possible. Its primary advantages are simplicity, extensibility, and language-independence. The noweb manual is only 3 pages; an additional page explains how to customize its LaTeX output. noweb works ``out of the box'' with any programming language, and supports TeX, LaTeX, and HTML back ends. The primary sacrifice relative to WEB is that code is not prettyprinted. %prep %forgesetup -z0 -v %conf sed -E \ -e "s#^CC=.*#CC=${CC}#" \ -e "s#^CFLAGS=.*#CFLAGS=${CFLAGS}#" \ -e "s@^#?(LIBSRC=icon)@\1@" \ -e "s@^#?(LIBSRC=awk)@#\1@" \ -e "s@^#?(ICON[CT])=(.*)@\1=env IPATH=%{_libdir}/icon \2@" \ -e "s#^BIN=.*#BIN=%{_bindir}#" \ -e "s#^LIB=.*#LIB=%{_libdir}/noweb#" \ -e "s#^MAN=.*#MAN=%{_mandir}#" \ -e "s#^TEXINPUTS=.*#TEXINPUTS=\${DESTDIR}%{_texmf}/tex/plain/misc#" \ -e "s#^TEXNAME=.*#TEXNAME=%{_texmf}/tex/plain/misc#" \ -e "s#^ELISP=.*#ELISP=\${DESTDIR}%{_emacs_sitelispdir}#" \ -e "/-texhash/d" \ src/Makefile > src/Makefile.tmp && \ mv src/Makefile.tmp src/Makefile # "But why are you setting IPATH?" Because the version of Icon shipping # with Fedora cannot `link` to objects in its standard library, because # Icon itself does not compute its library directory in any reasonable # way, and which leads to horrors like downstream packages doing the # Icon compiler's own work, or like this Debian patch: # # Fix up Awk paths: ( cd src; sh awkname gawk ) sed -E \ -e "s#@\\\$\(LIB\)@#@%{_libdir}/noweb@#" \ src/lib/Makefile > src/lib/Makefile.tmp && \ mv src/lib/Makefile.tmp src/lib/Makefile %build %make_build -C src boot %make_build -C src all %install # `make install` cannot be trusted to respect DESTDIR, so ... %{__install} -p -d -m 0755 "%{?buildroot}%{_bindir}" %{__install} -p -d -m 0755 "%{?buildroot}%{_libdir}/noweb" %{__install} -p -d -m 0755 "%{?buildroot}%{_mandir}/man1" %{__install} -p -d -m 0755 "%{?buildroot}%{_mandir}/man7" %{__install} -p -d -m 0755 "%{?buildroot}%{_texmf}/tex/plain/misc" %{__install} -p -d -m 0755 "%{?buildroot}%{_emacs_sitelispdir}" expand_tags_in() { %{__sed} -i \ -e "s@|LIBDIR|@%{_libdir}/noweb@" \ -e "s@|TEXINPUTS|@%{_texmf}/tex/plain/misc@" \ -e "s@|GITVERSION|@Git version: v2_13-10-g81fd4b9a7d3fce2bf3e3@" \ "$@" } put() { local src="$1"; shift if [ "$1" = "-tags" ]; then expand_tags_in "${src}"; shift; fi local dest="" local mode=0644 if [ "$1" = "-bin" ]; then dest="%{?buildroot}%{_bindir}"; mode=0755; shift; fi if [ "$1" = "-lib" ]; then dest="%{?buildroot}%{_libdir}/noweb"; mode=0755; shift; fi if [ "$1" = "-man1" ]; then dest="%{?buildroot}%{_mandir}/man1"; shift; fi if [ "$1" = "-man7" ]; then dest="%{?buildroot}%{_mandir}/man7"; shift; fi if [ "$1" = "-tex" ]; then dest="%{?buildroot}%{_texmf}/tex/plain/misc"; shift; fi %{__install} -p -m "$mode" "$src" "${dest}/${src##*/}" } put src/c/finduses -lib put src/c/markup -lib put src/c/mnt -lib put src/c/nt -lib put src/c/nwmktemp -lib put src/icon/autodefs.asdl -lib put src/icon/autodefs.icon -lib put src/icon/autodefs.lrtl -lib put src/icon/autodefs.mmix -lib put src/icon/autodefs.pascal -lib put src/icon/autodefs.promela -lib put src/icon/autodefs.sml -lib put src/icon/autodefs.tex -lib put src/icon/autodefs.yacc -lib put src/icon/disambiguate -lib put src/icon/docs2comments -lib put src/icon/elide -lib put src/icon/htmltoc -bin put src/icon/l2h -lib put src/icon/noidx -lib put src/icon/noindex -bin put src/icon/pipedocs -lib put src/icon/sl2h -bin put src/icon/tohtml -lib put src/icon/totex -lib put src/icon/xchunks -lib put src/lib/btdefn -tags -lib put src/lib/emptydefn -tags -lib put src/lib/h2a -tags -lib put src/lib/nwmtime -tags -lib put src/lib/pipedocs -tags -lib put src/lib/toascii -tags -lib put src/lib/unmarkup -tags -lib put src/shell/cpif -tags -bin put src/shell/htmltoc -tags -bin put src/shell/nodefs -tags -bin put src/shell/noroff -tags -bin put src/shell/noroots -tags -bin put src/shell/notangle -tags -bin put src/shell/nountangle -tags -bin put src/shell/noweave -tags -bin put src/shell/noweb -tags -bin put src/shell/nuweb2noweb -tags -bin put src/shell/toroff -tags -lib put src/tex/noweb.sty -tags -tex put src/tex/nwmac.tex -tags -tex put src/xdoc/cpif.1 -tags -man1 put src/xdoc/htmltoc.1 -tags -man1 put src/xdoc/nodefs.1 -tags -man1 put src/xdoc/noindex.1 -tags -man1 put src/xdoc/noroff.1 -tags -man1 put src/xdoc/noroots.1 -tags -man1 put src/xdoc/notangle.1 -tags -man1 put src/xdoc/noweb.1 -tags -man1 put src/xdoc/nowebfilters.7 -tags -man7 put src/xdoc/nowebstyle.7 -tags -man7 put src/xdoc/nuweb2noweb.1 -tags -man1 put src/xdoc/sl2h.1 -tags -man1 # oddities %{__install} -p -m 0755 src/icon/autodefs.cee \ "%{?buildroot}%{_libdir}/noweb/autodefs.c" %{__install} -p -m 0644 src/shell/tmac.w \ "%{?buildroot}%{_libdir}/noweb/tmac.w" echo .so man1/notangle.1 > \ "%{?buildroot}%{_mandir}/man1/noweave.1" echo .so man1/notangle.1 > \ "%{?buildroot}%{_mandir}/man1/nountangle.1" %{__install} -p -m 0644 src/elisp/noweb-mode.el \ "%{?buildroot}%{_emacs_sitelispdir}/noweb-mode.el" %post %texlive_post %posttrans %texlive_posttrans %postun %texlive_postun %files %license COPYRIGHT LICENSE %doc README CHANGES src/FAQ %{_bindir}/cpif %{_bindir}/htmltoc %{_bindir}/nodefs %{_bindir}/noindex %{_bindir}/noroff %{_bindir}/noroots %{_bindir}/notangle %{_bindir}/nountangle %{_bindir}/noweave %{_bindir}/noweb %{_bindir}/nuweb2noweb %{_bindir}/sl2h %{_emacs_sitelispdir}/noweb-mode.el %{_libdir}/noweb/autodefs.asdl %{_libdir}/noweb/autodefs.c %{_libdir}/noweb/autodefs.icon %{_libdir}/noweb/autodefs.lrtl %{_libdir}/noweb/autodefs.mmix %{_libdir}/noweb/autodefs.pascal %{_libdir}/noweb/autodefs.promela %{_libdir}/noweb/autodefs.sml %{_libdir}/noweb/autodefs.tex %{_libdir}/noweb/autodefs.yacc %{_libdir}/noweb/btdefn %{_libdir}/noweb/disambiguate %{_libdir}/noweb/docs2comments %{_libdir}/noweb/elide %{_libdir}/noweb/emptydefn %{_libdir}/noweb/finduses %{_libdir}/noweb/h2a %{_libdir}/noweb/l2h %{_libdir}/noweb/markup %{_libdir}/noweb/mnt %{_libdir}/noweb/noidx %{_libdir}/noweb/nt %{_libdir}/noweb/nwmktemp %{_libdir}/noweb/nwmtime %{_libdir}/noweb/pipedocs %{_libdir}/noweb/tmac.w %{_libdir}/noweb/toascii %{_libdir}/noweb/tohtml %{_libdir}/noweb/toroff %{_libdir}/noweb/totex %{_libdir}/noweb/unmarkup %{_libdir}/noweb/xchunks %{_mandir}/man1/cpif.1.gz %{_mandir}/man1/htmltoc.1.gz %{_mandir}/man1/nodefs.1.gz %{_mandir}/man1/noindex.1.gz %{_mandir}/man1/noroff.1.gz %{_mandir}/man1/noroots.1.gz %{_mandir}/man1/notangle.1.gz %{_mandir}/man1/nountangle.1.gz %{_mandir}/man1/noweave.1.gz %{_mandir}/man1/noweb.1.gz %{_mandir}/man1/nuweb2noweb.1.gz %{_mandir}/man1/sl2h.1.gz %{_mandir}/man7/nowebfilters.7.gz %{_mandir}/man7/nowebstyle.7.gz %{_texmf}/tex/plain/misc/noweb.sty %{_texmf}/tex/plain/misc/nwmac.tex %changelog * Fri May 01 2026 Jashank Jeremy - 2.13^20260420g81fd4b9a7d3-1 - Bump. Break fingers. Rearrange toes. * Wed Aug 20 2025 Jashank Jeremy - 2.13^20241023g0600cca537f-2 - Bump for Fedora 43? 44? mass rebuild. * Sat Jan 18 2025 Jashank Jeremy - 2.13^20241023g0600cca537f-1 - Bump for Fedora 42 mass rebuild. * Tue Sep 10 2024 Jashank Jeremy - 2.13-4 - Bump for Fedora 41 mass rebuild. * Sun Jul 28 2024 Jashank Jeremy - 2.13-3 - Bump for Fedora 41 mass rebuild. * Sun Feb 04 2024 Jashank Jeremy - 2.13-2 - Bump for Fedora 40 mass rebuild. * Sun Dec 24 2023 Jashank Jeremy - 2.13-1 - Initial packaging of Noweb.