Skip to content
  • Tom Smeding's avatar
    0b34b4ea
    Ignore invalid Unicode in pkg-config descriptions (#9609) · 0b34b4ea
    Tom Smeding authored
    * Ignore invalid Unicode in pkg-config descriptions
    
    Previously, if any of the pkg-config packages on the system had invalid
    Unicode in their description fields (like the Intel vpl package has at
    the time of writing, 2024-01-11, see #9608), cabal would crash because
    it tried to interpret the entire `pkg-config --list-all` output as
    Unicode.
    
    This change, as suggested by gbaz in
      https://github.com/haskell/cabal/issues/9608#issuecomment-1886120831
    
    
    switches to using a lazy ByteString for reading in the output, splitting
    on the first space in byte land, and then parsing only the package
    _name_ to a String.
    
    For further future-proofing, package names that don't parse as valid
    Unicode don't crash Cabal, but are instead ignored.
    
    * Add changelog entry
    
    * cabal-install-solver: Add bounds on 'text'
    
    * No literal ASCII values, use 'ord'
    
    * Address review comments re invalid unicode from pkg-config
    
    * Add test for invalid unicode from pkg-config
    
    * Compatibility with text-1.2.5.0
    
    * Align imports
    
    * Handle different exception type
    
    * Use only POSIX shell syntax
    
    * Add invalid-input handler in pkg-config shim
    
    This is to appease shellcheck
    
    * Actually implement all required stuff in the pkg-config shim
    
    * Less exception dance
    
    * Fix shebang lines
    
    MacOS doesn't have /usr/bin/sh, and /bin/sh is the standard (for a POSIX
    shell) anyway
    
    * Don't expect a particular representation of invalid characters
    
    ---------
    
    Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
    0b34b4ea
    Ignore invalid Unicode in pkg-config descriptions (#9609)
    Tom Smeding authored
    * Ignore invalid Unicode in pkg-config descriptions
    
    Previously, if any of the pkg-config packages on the system had invalid
    Unicode in their description fields (like the Intel vpl package has at
    the time of writing, 2024-01-11, see #9608), cabal would crash because
    it tried to interpret the entire `pkg-config --list-all` output as
    Unicode.
    
    This change, as suggested by gbaz in
      https://github.com/haskell/cabal/issues/9608#issuecomment-1886120831
    
    
    switches to using a lazy ByteString for reading in the output, splitting
    on the first space in byte land, and then parsing only the package
    _name_ to a String.
    
    For further future-proofing, package names that don't parse as valid
    Unicode don't crash Cabal, but are instead ignored.
    
    * Add changelog entry
    
    * cabal-install-solver: Add bounds on 'text'
    
    * No literal ASCII values, use 'ord'
    
    * Address review comments re invalid unicode from pkg-config
    
    * Add test for invalid unicode from pkg-config
    
    * Compatibility with text-1.2.5.0
    
    * Align imports
    
    * Handle different exception type
    
    * Use only POSIX shell syntax
    
    * Add invalid-input handler in pkg-config shim
    
    This is to appease shellcheck
    
    * Actually implement all required stuff in the pkg-config shim
    
    * Less exception dance
    
    * Fix shebang lines
    
    MacOS doesn't have /usr/bin/sh, and /bin/sh is the standard (for a POSIX
    shell) anyway
    
    * Don't expect a particular representation of invalid characters
    
    ---------
    
    Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Loading