aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/rcm.scm
blob: 6bdeeb7e9db5638310b70ebb19ecd04dec70ac97 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages rcm)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (guix licenses)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages perl))

(define-public rcm
  (package
    (name "rcm")
    (version "1.3.5")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://thoughtbot.github.io/rcm/dist/rcm-"
                                  version ".tar.gz"))
              (sha256
               (base32 "0bdyksrd9i3lkmr9kq6dwa0l4g2403vnma5s4j9h8spi4rziwx14"))))
    (build-system gnu-build-system)
    (arguments '(#:phases
                 (modify-phases %standard-phases
                   (add-after 'patch-source-shebangs 'patch-tests
                     (lambda _
                       (substitute* '("test/rcrc-tilde.t"
                                      "test/rcdn-hooks-run-in-order.t"
                                      "test/rcup-hooks-run-in-order.t")
                         (("/bin/sh") (which "sh")))
                       (substitute* "test/rcup-hooks.t"
                         (("/usr/bin/env") (which "env"))))))
                  #:parallel-tests? #f))
    (native-inputs (list perl python-cram))
    (synopsis "Management suite for dotfiles")
    (description "The rcm suite of tools is for managing dotfiles directories.  This is
a directory containing all the @code{.*rc} files in your home directory
(@code{.zshrc}, @code{.vimrc}, and so on). These files have gone by many
names in history, such as “rc files” because they typically end in rc
or “dotfiles” because they begin with a period.  This suite is useful
for committing your rc files to a central repository to share, but it also
scales to a more complex situation such as multiple source directories
shared between computers with some host-specific or task-specific files.")
    (license bsd-3)
    (home-page "https://github.com/thoughtbot/rcm")))
ior 2021-08-02[UNTESTED- will test] Add filtering for http-equiv CSP headersjahoti 2021-07-28Rationalize CSP violation report blocking.jahoti Report blocking now applies iff scripts are blocked. 2021-07-26code maintenanceWojtek Kosior 2021-07-26Squash more CSP-filtering bugsjahoti On Firefox, original CSP headers are now smuggled (signed) in an x-orig-csp header to prevent re-processing issues with caching. Additionally, a default header is added for non-whitelisted domains in case there are no existing headers we can attach to. 2021-07-26Fix some bugs in the refined CSP handlingjahoti 2021-07-26[UNTESTED- will test] Use more nuanced CSP filteringjahoti CSP headers are now parsed and processed, rather than treated as simple units. This allows us to ensure policies delivered as HTTP headers do not interfere with our script filtering, as well as to preserve useful protections while removing the ones that could be problematic. Additionally, prefetching should now be blocked on pages where native scripts aren't allowed, and all reporting of CSP violations has been stripped (is this appropriate?). 2021-07-26Remove unnecessary imports of url_item and add a CSP header-parsing functionjahoti The parsing function isn't used yet; however, it will eventually be as a less destructive alternative to handling headers as indivisible units. 2021-07-23extract observables implementation from storage.jsWojtek Kosior 2021-07-21add ability to query page content from repo and display it in the popupWojtek Kosior 2021-07-21store repository URLs in settingsWojtek Kosior 2021-07-21remove unused variablesWojtek Kosior 2021-07-20Merge rebranding to "Hachette"Wojtek Kosior 2021-07-20fix page info server bugsWojtek Kosior 2021-07-20Merge commit 'ecb787046271de708b94da70240713e725299d86'Wojtek Kosior 2021-07-19Refer to the extension consistently as "Hachette" and remove TODOS.orgjahoti from the copyright file 2021-07-18Streamline and harden unique values/settingsjahoti The base URL is now included in the settings. The unique value no longer uses it directly, as it is included by virtue of the settings; however, the number of full hours since the epoch (UTC) is now incorporated. 2021-07-17Revamp signatures and break header caching on FFjahoti Signatures, instead of consisting of the secure salt followed by the unique value generated from the URL, are now the unique value generated from the policy value (which will follow them) succeeded by the URL. CSP headers are now _always_ cleared on FF, regardless of whether the page is whitelisted or not. This means whitelisting takes effect on page reload, rather than only when caching occurs. However, it obviously presents security issues; refinment will occur in a future commit. 2021-07-16Use URL-based policy smugglingjahoti Increase the power of URL-based smuggling by making it (effectively) compulsory in all cases and adapting a <salt><unique value><JSON-encoded settings> structure. While the details still need to be worked out, the potential for future expansion is there. 2021-07-12merge jahoti into masterWojtek Kosior 2021-07-12Stop using the nonce consistently for a URLjahoti Nonces are now randomly generated, either in the page (for non-HTTP(S) pages) or by a background module which stores them by tab and frame IDs. In order to support the increased variance in nonce-generating methods and allow them to be loaded from the background, handle_page_actions is now invoked separately according to (non-)blocking mechanism. 2021-07-06Merge popup displayWojtek Kosior 2021-07-06show some settings of the current page in the popupWojtek Kosior 2021-07-04Revamp default settingsjahoti Default settings are now provided in the same format as data exported from the extension, incorporating them into the main program as part of the build process. Also, modify their contents; the apparently non-functional FSF stuff is gone, replaced with fixes for BandCamp, WorldCat, and SumOfUs.