aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2015, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; 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 bison)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages m4)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages flex)
  #:use-module (srfi srfi-1))

(define-public bison
  (package
    (name "bison")
    (version "3.8.2")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "mirror://gnu/bison/bison-"
                          version ".tar.xz"))
      (sha256
       (base32
        "1wjvbbzrr16k1jlby3l436an3kvv492h08arbnf0gwgprha05flv"))))
    (build-system gnu-build-system)
    (arguments
     '(;; Building in parallel on many-core systems may cause an error such as
       ;; "mv: cannot stat 'examples/c/reccalc/scan.stamp.tmp': No such file or
       ;; directory".  See <https://bugs.gnu.org/36238>.
       #:parallel-build? #f
       ;; Similarly, when building tests in parallel, Make may produce this error:
       ;; "./examples/c/reccalc/scan.l:13:10: fatal error: parse.h: No such file
       ;; or directory".  Full log in <https://bugs.gnu.org/36238>.
       #:parallel-tests? #f))
    (native-inputs (list perl
                         ;; m4 is not present in PATH when cross-building.
                         m4))
    (inputs (list flex))
    (propagated-inputs (list m4))
    (home-page "https://www.gnu.org/software/bison/")
    (synopsis "Yacc-compatible parser generator")
    (description
     "GNU Bison is a general-purpose parser generator.  It can build a
deterministic or generalized LR parser from an annotated, context-free
grammar.  It is versatile enough to have many applications, from parsers for
simple tools through complex programming languages.

Bison also provides an implementation of @command{yacc}, as specified by POSIX.")
    (license gpl3+)))

(define-public bison-3.0
  (package
    (inherit bison)
    (version "3.0.5")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "mirror://gnu/bison/bison-"
                          version ".tar.xz"))
      (sha256
       (base32
        "0f7kjygrckkx8vas2nm673592jif0a9mw5g8207f6hj6h4pfyp07"))))))
p'>Other files have been left, as no model notice is available jahoti 2021-09-13rename the extension to "Haketilo"Wojtek Kosior 2021-09-09simplify CSP handling...All page's CSP rules are now removed when a payload is to be injected. When there is no payload, CSP rules are not modified but only supplemented with Hachette's own. Wojtek Kosior 2021-08-26improve signing\n\nSignature timestamp is now handled in a saner way. Sha256 ...Wojtek Kosior 2021-08-23use StreamFilter under Mozilla to prevent csp <meta> tags from blocking our i...Wojtek Kosior 2021-08-20sanitize `<meta>' tags containing CSP rules under Chromium...This commit adds a mechanism of hijacking document when it loads and injecting sanitized nodes to the DOM from the level of content script. Wojtek Kosior 2021-08-18remove unneeded policy-related cosole messages; restore IceCat 60 compatibilityWojtek Kosior 2021-08-18implement smuggling via cookies instead of URLWojtek Kosior 2021-08-14merge facility to install from HydrillaWojtek Kosior 2021-08-04make settings_query.js use storage object passed as an argumentWojtek Kosior 2021-08-02[UNTESTED- will test] Add filtering for http-equiv CSP headersjahoti 2021-07-28Rationalize CSP violation report blocking....Report blocking now applies iff scripts are blocked. jahoti 2021-07-26code maintenanceWojtek Kosior 2021-07-26Squash more CSP-filtering bugs...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. jahoti 2021-07-26Fix some bugs in the refined CSP handlingjahoti 2021-07-26[UNTESTED- will test] Use more nuanced CSP filtering...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?). jahoti 2021-07-26Remove unnecessary imports of url_item and add a CSP header-parsing function...The parsing function isn't used yet; however, it will eventually be as a less destructive alternative to handling headers as indivisible units. jahoti 2021-07-20Merge rebranding to "Hachette"Wojtek Kosior 2021-07-20Merge commit 'ecb787046271de708b94da70240713e725299d86'Wojtek Kosior 2021-07-19Refer to the extension consistently as "Hachette" and remove TODOS.org...from the copyright file jahoti 2021-07-18Streamline and harden unique values/settings...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. jahoti 2021-07-17Revamp signatures and break header caching on FF...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. jahoti 2021-07-16Use URL-based policy smuggling...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. jahoti 2021-07-12Stop using the nonce consistently for a URL...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. jahoti 2021-06-30fix whitelisting under FirefoxWojtek Kosior 2021-06-30refactor 3 miscellaneous fnctionalities to a their single own fileWojtek Kosior 2021-06-30emply an sh-based build system; make some changes to blockingWojtek Kosior 2021-06-25gather all copyright info in 'copyright' fileWojtek Kosior 2021-06-18when possible inject CSP as http(s) header using webRequest instead of adding...Wojtek Kosior