121 lines
4.0 KiB
RPMSpec
121 lines
4.0 KiB
RPMSpec
#
|
|
# spec file for package perl-MIME-Base64
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define cpan_name MIME-Base64
|
|
Name: perl-MIME-Base64
|
|
Version: 3.16
|
|
Release: 0
|
|
License: Artistic-1.0 OR GPL-1.0-or-later
|
|
Summary: Encoding and decoding of base64 strings
|
|
URL: https://metacpan.org/release/%{cpan_name}
|
|
Source0: https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB/%{cpan_name}-%{version}.tar.gz
|
|
Source1: cpanspec.yml
|
|
Source100: README.md
|
|
BuildRequires: perl
|
|
BuildRequires: perl-macros
|
|
%{perl_requires}
|
|
|
|
%description
|
|
This module provides functions to encode and decode strings into and from
|
|
the base64 encoding specified in RFC 2045 - _MIME (Multipurpose Internet
|
|
Mail Extensions)_. The base64 encoding is designed to represent arbitrary
|
|
sequences of octets in a form that need not be humanly readable. A
|
|
65-character subset ([A-Za-z0-9+/=]) of US-ASCII is used, enabling 6 bits
|
|
to be represented per printable character.
|
|
|
|
The following primary functions are provided:
|
|
|
|
* encode_base64( $bytes )
|
|
|
|
* encode_base64( $bytes, $eol );
|
|
|
|
Encode data by calling the encode_base64() function. The first argument is
|
|
the byte string to encode. The second argument is the line-ending sequence
|
|
to use. It is optional and defaults to "\n". The returned encoded string is
|
|
broken into lines of no more than 76 characters each and it will end with
|
|
$eol unless it is empty. Pass an empty string as second argument if you do
|
|
not want the encoded string to be broken into lines.
|
|
|
|
The function will croak with "Wide character in subroutine entry" if $bytes
|
|
contains characters with code above 255. The base64 encoding is only
|
|
defined for single-byte characters. Use the Encode module to select the
|
|
byte encoding you want.
|
|
|
|
* decode_base64( $str )
|
|
|
|
Decode a base64 string by calling the decode_base64() function. This
|
|
function takes a single argument which is the string to decode and returns
|
|
the decoded data.
|
|
|
|
Any character not part of the 65-character base64 subset is silently
|
|
ignored. Characters occurring after a '=' padding character are never
|
|
decoded.
|
|
|
|
If you prefer not to import these routines into your namespace, you can
|
|
call them as:
|
|
|
|
use MIME::Base64 ();
|
|
$encoded = MIME::Base64::encode($decoded);
|
|
$decoded = MIME::Base64::decode($encoded);
|
|
|
|
Additional functions not exported by default:
|
|
|
|
* encode_base64url( $bytes )
|
|
|
|
* decode_base64url( $str )
|
|
|
|
Encode and decode according to the base64 scheme for "URL applications"
|
|
[1]. This is a variant of the base64 encoding which does not use padding,
|
|
does not break the string into multiple lines and use the characters "-"
|
|
and "_" instead of "+" and "/" to avoid using reserved URL characters.
|
|
|
|
* encoded_base64_length( $bytes )
|
|
|
|
* encoded_base64_length( $bytes, $eol )
|
|
|
|
Returns the length that the encoded string would have without actually
|
|
encoding it. This will return the same value as
|
|
'length(encode_base64($bytes))', but should be more efficient.
|
|
|
|
* decoded_base64_length( $str )
|
|
|
|
Returns the length that the decoded string would have without actually
|
|
decoding it. This will return the same value as
|
|
'length(decode_base64($str))', but should be more efficient.
|
|
|
|
%prep
|
|
%autosetup -n %{cpan_name}-%{version}
|
|
|
|
%build
|
|
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
|
|
%make_build
|
|
|
|
%check
|
|
make test
|
|
|
|
%install
|
|
%perl_make_install
|
|
%perl_process_packlist
|
|
%perl_gen_filelist
|
|
|
|
%files -f %{name}.files
|
|
%doc benchmark benchmark-qp Changes README
|
|
%license LICENSE
|
|
|
|
%changelog
|