From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Alex Sassmannshausen Newsgroups: gmane.lisp.guile.user Subject: [ANN] Guile Hall 0.3.0 released Date: Sat, 16 May 2020 17:41:15 +0200 Message-ID: <87k11bdh0k.fsf@gmail.com> Reply-To: alex.sassmannshausen@gmail.com Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="104066"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.2.0; emacs 26.3 To: Guile User Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sat May 16 17:41:43 2020 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jZywY-000QyG-Vn for guile-user@m.gmane-mx.org; Sat, 16 May 2020 17:41:43 +0200 Original-Received: from localhost ([::1]:51772 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jZywX-0006So-Tg for guile-user@m.gmane-mx.org; Sat, 16 May 2020 11:41:41 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37862) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZywC-0006S2-AS for guile-user@gnu.org; Sat, 16 May 2020 11:41:20 -0400 Original-Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]:52693) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jZywB-0008Ut-81 for guile-user@gnu.org; Sat, 16 May 2020 11:41:20 -0400 Original-Received: by mail-wm1-x336.google.com with SMTP id z4so3927942wmi.2 for ; Sat, 16 May 2020 08:41:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=user-agent:from:to:subject:reply-to:date:message-id:mime-version :content-transfer-encoding; bh=xPs0K0FkV+JYdeYWyk91phTngDC4GvE7Nw/p7+PTvvo=; b=T0YqgREFovjdKgFS9G5lwW3FMXlUvOYcv+Qve/aTOlSJkFdbgFZLtngPKfV5a6Mc3A oCnoG41oOc2nSDmme4B1nnIywceb989wfTTSFDAmXjc74/doF2PExNeQyH9XfyHrgzAC x2TOf9nQEYg91Ub3TUk8t82N7IhEAlcZ3aPRlqxobMr/ctUM7CMWULZWeC2VxfFQs0W2 UqiinhjmkZfiGnsEWh4wObJ3b+eHuuDHf9ZDOh/0VHWFsBXL6rPdIFyvPgzDofsq6rPi Pq/QSffzRxJgnKVuXsRgA6TwVg3QeBFMJJ08cg3l2p267RSThCGWOkjMOq/TELF9suLJ Q6kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:user-agent:from:to:subject:reply-to:date :message-id:mime-version:content-transfer-encoding; bh=xPs0K0FkV+JYdeYWyk91phTngDC4GvE7Nw/p7+PTvvo=; b=KTItT8xw5GwbU5bVb2cPxBF/K5Z8NGXqg7oVYX30xDTnBCOz1oL8PzSKtVEFzITrQe BlCIftG5fDA9UftGRjTyvcTY/PMdGSx1IBa6ItnqtHYQCIQ7mTYAWF3y4HUryTL0AYzV KBnjTsKh3ClzTFnbYbq1RfEzkMkBLuHqwy8xi8jXKkbmDDudv+ZEWP4XD3+uv/fhAWf3 26/Zeo2/Ngx171r6Iijk5oHK6o+UDsaPam7WXIPyhUIStUO5bQ/Llwb01PmvzE63fOPn R/9VYTA7Az6mD8uLEvMC+a9h3u0jjA43b2WshLvP7oaVg9AgY0VQ2FK0ShJcDloleD6Q WkiA== X-Gm-Message-State: AOAM532eKsEr39+LbWgvhYK5kO4zEIj8hqvY7dW3xxFYOB05I3OJuQJ1 iHIu7FSVY2p0d/iFHL9mLflSxNUf3+I= X-Google-Smtp-Source: ABdhPJwwygzrrjfIaz+MFOUPWseAYF+QzT7Ha9NT9ZwUL2QiY229N8y/s3eC18hD2LjPiGREez/7HA== X-Received: by 2002:a1c:6a12:: with SMTP id f18mr9704127wmc.134.1589643676589; Sat, 16 May 2020 08:41:16 -0700 (PDT) Original-Received: from watership ([2a02:a03f:643c:5900:f200:b379:1817:18a7]) by smtp.gmail.com with ESMTPSA id j2sm8364567wrp.47.2020.05.16.08.41.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 16 May 2020 08:41:15 -0700 (PDT) Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=alex.sassmannshausen@gmail.com; helo=mail-wm1-x336.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:16456 Archived-At: Hello, I have the pleasure to announce that I have today released Guile Hall 0.3.0. You can get a tarball (that requires autoreconf) at https://gitlab.com/a-sassmannshausen/guile-hall/-/releases. You can also install it with the latest Guix (from a3dfe05285): $ guix install guile-hall You can check the source code, and report issues at https://gitlab.com/a-sassmannshausen/guile-hall/. I would like to thank the following people, who have all contributed issues, thougts or code. Stephen Scheck Jose A. Ortega Ruiz Jack Hill Adriano Peluso Release notes below, under * Changes in 0.3 (since 0.2.1). * From the README file Hall aims to provide a black box that "just works" (tm), so that you can create, develop, build & distribute Guile projects. With Hall you will be able to: - Manage a Guile project hierarchy from one project spec file. - Transparently support the GNU build system for maximum portability. - Leverage tight coupling to Guix for reliability & confidence. - Profit. This README is all written documentation that currently exists. The project must be considered Alpha software at this stage. Nonetheless, all commands and arguments are documented, and passing the -h flag to any command or sub-command should provide you with some guidance. In addition all procedures in the codebase are documented with docstrings. * Changes in 0.3 (since 0.2.1) ** Allow adding single files to hall.scm using `hall scan' `hall scan' now accepts two optional arguments so that you can quickly a= dd individual files to your hall.scm file, even if your project state is dirty. This is an alternative to running the full auto-magic `hall scan' command. ** Emit user friendly error messages for common failures Hitherto we simply used `throw' to error out of unexpected situations. This would happen even in the case of user error or predictable situatio= ns. I consider the codebase solid enough to emit more user-friendly error messages in predictable situations. ** Allow use of fully-fledged regexp to --skip files The `scan' and `clean' subcommands accept a --skip keyword to exclude specific (classes of) files from their operation. So far they had to be precise files. The --skip keyword now expects Guile style regex pattern strings for increased flexibility. ** Add a notes system for giving advice to the user Hall aims to understand your project and the files it contains, even if = it does not fully support your use case. To this end, its architecture creates a representation of your project in the hall.scm file. Hall now has a facility for emitting useful commentary when creating or manipulating this representation. A current case in point at present is that we understand that Guile projects may include C files =E2=80=94 but Hall does not support them in= its build infrastructure. So we want to allow & support users who include C files, but we want to warn them about Hall's short-comings in this area. ** Change the filetype architecture So far, filetype registration code was spread out over the codebase. Fr= om this version we support a simple interface. Supported filety= pes are declared in /hall/spec.scm. Supporting more filetypes is as easy as adding a simple declaration ther= e. This sets up a further development allowing individual projects to speci= fy filetypes above and beyond Hall's built-in filetypes. ** Support XML, C, .log, .trs, .tex, & emacs autosave/backup files A simple development thanks to the above. ** Add a default .gitignore file Hall has strong opinions about development, primarily to stop new developers from having to make bewildering choices. Currently it pushes strong git & guix integration, as well as a specific documentation and folder structure. As such we now add a standard .gitignore file that should cover the vast majority of use cases.