Initial commit

This commit is contained in:
Vivianne 2024-02-29 13:03:58 -05:00
commit a5bdb2e688
9 changed files with 266 additions and 0 deletions

68
.gitignore vendored Normal file
View File

@ -0,0 +1,68 @@
*.eps
*.go
*.log
*.pdf
*.png
*.tar.xz
*.tar.gz
*.tmp
*~
.#*
\#*\#
,*
/ABOUT-NLS
/INSTALL
/aclocal.m4
/autom4te.cache
/build-aux/ar-lib
/build-aux/compile
/build-aux/config.guess
/build-aux/config.rpath
/build-aux/config.sub
/build-aux/depcomp
/build-aux/install-sh
/build-aux/mdate-sh
/build-aux/missing
/build-aux/test-driver
/build-aux/texinfo.tex
/config.status
/configure
/configure.ac
/doc/*.1
/doc/.dirstamp
/doc/contributing.*.texi
/doc/*.aux
/doc/*.cp
/doc/*.cps
/doc/*.fn
/doc/*.fns
/doc/*.html
/doc/*.info
/doc/*.info-[0-9]
/doc/*.ky
/doc/*.pg
/doc/*.toc
/doc/*.t2p
/doc/*.tp
/doc/*.vr
/doc/*.vrs
/doc/stamp-vti
/doc/version.texi
/doc/version-*.texi
/m4/*
/pre-inst-env
/pre-inst-env.in
/test-env
/test-tmp
/tests/*.trs
GPATH
GRTAGS
GTAGS
Makefile
Makefile.in
Makefile.am
config.cache
stamp-h[0-9]
tmp
/.version
/doc/stamp-[0-9]

3
COPYING Normal file
View File

@ -0,0 +1,3 @@
This project's license is GPL 3+.
You can read the full license at https://www.gnu.org/licenses/gpl.html.

54
HACKING Normal file
View File

@ -0,0 +1,54 @@
# -*- mode: org; coding: utf-8; -*-
#+TITLE: Hacking guile-runewidth
* Contributing
By far the easiest way to hack on guile-runewidth is to develop using Guix:
#+BEGIN_SRC bash
# Obtain the source code
cd /path/to/source-code
guix shell -Df guix.scm
# In the new shell, run:
hall build --execute && autoreconf -vif && ./configure && make check
#+END_SRC
You may also want to set your directory as an authorized directory for
`guix shell' so it works without arguments. To do that, simply run
#+BEGIN_SRC bash
echo $(pwd) >> $HOME/.config/guix/shell-authorized-directories
#+END_SRC
You can now hack this project's files to your heart's content, whilst
testing them from your `guix shell' shell.
To try out any scripts in the project you can now use
#+BEGIN_SRC bash
./pre-inst-env scripts/${script-name}
#+END_SRC
If you'd like to tidy the project again, but retain the ability to test the
project from the commandline, simply run:
#+BEGIN_SRC bash
./hall clean --skip "scripts/${script-name},pre-inst-env" --execute
#+END_SRC
** Manual Installation
If you do not yet use Guix, you will have to install this project's
dependencies manually:
- autoconf
- automake
- pkg-config
- texinfo
- guile-hall
Once those dependencies are installed you can run:
#+BEGIN_SRC bash
hall build -x && autoreconf -vif && ./configure && make check
#+END_SRC

1
README Symbolic link
View File

@ -0,0 +1 @@
README.org

4
README.org Normal file
View File

@ -0,0 +1,4 @@
# -*- mode: org; coding: utf-8; -*-
#+TITLE: README for Reflow

60
doc/guile-runewidth.texi Normal file
View File

@ -0,0 +1,60 @@
\input texinfo
@c -*-texinfo-*-
@c %**start of header
@setfilename reflow.info
@documentencoding UTF-8
@settitle Reflow Reference Manual
@c %**end of header
@include version.texi
@copying
Copyright @copyright{} 2024
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
copy of the license is included in the section entitled ``GNU Free
Documentation License''.
@end copying
@dircategory The Algorithmic Language Scheme
@direntry
* Reflow: (reflow).
@end direntry
@titlepage
@title The Reflow Manual
@author
@page
@vskip 0pt plus 1filll
Edition @value{EDITION} @*
@value{UPDATED} @*
@insertcopying
@end titlepage
@contents
@c *********************************************************************
@node Top
@top Reflow
This document describes Reflow version @value{VERSION}.
@menu
* Introduction:: Why Reflow?
@end menu
@c *********************************************************************
@node Introduction
@chapter Introduction
INTRODUCTION HERE
This documentation is a stub.
@bye

40
guix.scm Normal file
View File

@ -0,0 +1,40 @@
(use-modules
(gnu packages)
(gnu packages autotools)
(gnu packages guile)
(gnu packages guile-xyz)
(gnu packages pkg-config)
(gnu packages texinfo)
(guix build-system gnu)
(guix download)
(guix gexp)
((guix licenses) #:prefix license:)
(guix packages)
(srfi srfi-1))
(package
(name "guile-runewidth")
(version "0.1")
(source
(local-file
(dirname (current-filename))
#:recursive?
#t
#:select?
(lambda (file stat)
(not (any (lambda (my-string)
(string-contains file my-string))
(list ".git" ".dir-locals.el" "guix.scm"))))))
(build-system gnu-build-system)
(arguments `())
(native-inputs
(list autoconf automake pkg-config texinfo))
(inputs (list guile-3.0))
(propagated-inputs (list))
(synopsis "Library for utf-8 rune widths")
(description
"A library that provides guile character sets and operations to work with runes that are more than a single character width.")
(home-page
"https://git.solarpunk.moe/vv/guile-runewidth")
(license license:gpl3+))

36
hall.scm Normal file
View File

@ -0,0 +1,36 @@
(hall-description
(name "runewidth")
(prefix "guile")
(version "0.1")
(author "Vivanne Langdon")
(email "")
(copyright (2024))
(synopsis "Library for utf-8 rune widths")
(description
"A library that provides guile character sets and operations to work with runes that are more than a single character width.")
(home-page
"https://git.solarpunk.moe/vv/guile-runewidth")
(license gpl3+)
(dependencies `())
(skip ())
(features
((guix #t)
(use-guix-specs-for-dependencies #f)
(native-language-support #f)
(licensing #f)))
(files (libraries
((directory "runewidth" ())
(scheme-file "runewidth")))
(tests ((directory "tests" ())))
(programs ())
(documentation
((org-file "README")
(symlink "README" "README.org")
(text-file "HACKING")
(text-file "COPYING")
(directory "doc" ((texi-file "guile-runewidth")))))
(infrastructure
((scheme-file "guix")
(text-file ".gitignore")
(scheme-file "hall")
(directory "tests" ())))))

0
runewidth.scm Normal file
View File