Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Tomcat42
perl-Env-Path
perl-Env-Path.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File perl-Env-Path.spec of Package perl-Env-Path
# # spec file for package perl-Env-Path # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # Name: perl-Env-Path Version: 0.19 Release: 0 %define cpan_name Env-Path Summary: Advanced operations on path variables License: GPL-1.0+ or Artistic-1.0 Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/Env-Path/ Source: http://www.cpan.org/authors/id/D/DS/DSB/%{cpan_name}-%{version}.tar.gz BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros %{perl_requires} %description Env::Path presents an object-oriented interface to _path variables_, defined as that subclass of _environment variables_ which name an ordered list of filesystem elements separated by a platform-standard _separator_ (typically ':' on UNIX and ';' on Windows). Of course, core Perl constructs such $ENV{PATH} .= ":/usr/local/bin"; will suffice for most uses. Env::Path is for the others; cases where you need to insert or remove interior path entries, strip redundancies, operate on a pathvar without having to know whether the current platform uses ":" or ";", operate on a pathvar which may have a different name on different platforms, etc. The OO interface is slightly unusual in that the environment variable is itself the object and the constructor is Env::Path->AUTOLOAD(); thus Env::Path->MANPATH; will bless $ENV{MANPATH} into its package while leaving it otherwise unmodified (with the exception of possible autovivification). Unlike most objects, this is a scalar and thus can have only one attribute; its value. In other words, Env::Path simply defines a set of methods a path variable may call on itself without changing the variable's value or other semantics. Also, while the object reference may be assigned and used in the normal style my $path = Env::Path->CLASSPATH; $path->Append('/opt/foo/classes.jar'); a shorthand is also available: Env::Path->CLASSPATH; CLASSPATH->Append('/opt/foo/classes.jar'); I.e. the name of the path variable may be used as a proxy for its object reference. This may be done at 'use' time too: use Env::Path qw(PATH CLASSPATH); # or qw(:all) to bless all EV's CLASSPATH->Append('/opt/foo/classes.jar'); The design is intended to make use of this module as lightweight as possible. Rather than creating a new object to manage an environment variable, the environment variable is provided a set of methods for self-modification but is otherwise left undisturbed and can be used in all normal ways. %prep %setup -q -n %{cpan_name}-%{version} find . -type f -print0 | xargs -0 chmod 644 %build %{__perl} Makefile.PL INSTALLDIRS=vendor %{__make} %{?_smp_mflags} %check %{__make} test %install %perl_make_install %perl_process_packlist %perl_gen_filelist %files -f %{name}.files %defattr(-,root,root,755) %doc Changes envpath examples README %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor