File Coverage

blib/lib/App/gimpgitbuild/API/GitBuild.pm
Criterion Covered Total %
statement 11 42 26.1
branch 0 2 0.0
condition 0 10 0.0
subroutine 4 13 30.7
pod 7 7 100.0
total 22 74 29.7


line stmt bran cond sub pod time code
1             package App::gimpgitbuild::API::GitBuild;
2             $App::gimpgitbuild::API::GitBuild::VERSION = '0.32.1';
3 6     6   349259 use strict;
  6         12  
  6         212  
4 6     6   22 use warnings;
  6         10  
  6         309  
5 6     6   92 use 5.014;
  6         23  
6              
7 6     6   2452 use Moo;
  6         35473  
  6         33  
8              
9             has home_dir => ( is => 'lazy' );
10             has install_base_dir => ( is => 'lazy' );
11              
12             sub _build_home_dir
13             {
14 0     0     return $ENV{HOME};
15             }
16              
17             sub _build_install_base_dir
18             {
19 0     0     my $self = shift;
20             return $ENV{GIMPGITBUILD__BASE_INSTALL_DIR}
21 0   0       // ( $self->home_dir . "/apps/graphics" );
22             }
23              
24             sub mypaint_p
25             {
26 0     0 1   my $self = shift;
27 0           return $self->install_base_dir . "/libmypaint";
28             }
29              
30             sub babl_p
31             {
32 0     0 1   my $self = shift;
33 0           return $self->install_base_dir . "/babl";
34             }
35              
36             sub gimp_p
37             {
38 0     0 1   my $self = shift;
39 0           return $self->install_base_dir . "/gimp-devel";
40             }
41              
42             sub gegl_p
43             {
44 0     0 1   my $self = shift;
45 0           return $self->install_base_dir . "/gegl";
46             }
47              
48             sub gexiv2_p
49             {
50 0     0 1   my $self = shift;
51 0           return $self->gegl_p();
52             }
53              
54             sub base_git_clones_dir
55             {
56 0     0 1   my $self = shift;
57              
58             return $ENV{GIMPGITBUILD__BASE_CLONES_DIR}
59 0   0       // ( $self->home_dir . "/Download/unpack/graphics/gimp" );
60             }
61              
62             sub new_env
63             {
64 0     0 1   my $self = shift;
65 0           my $gegl_p = $self->gegl_p;
66 0           my $gimp_p = $self->gimp_p;
67 0           my $babl_p = $self->babl_p;
68 0           my $mypaint_p = $self->mypaint_p;
69             my $PKG_CONFIG_PATH = join(
70             ":",
71             (
72             map {
73 0           my $p = $_;
74 0           map { "$p/$_/pkgconfig" } qw# share lib64 lib #
  0            
75             } ( $babl_p, $gegl_p, $mypaint_p )
76             ),
77 0   0       ( $ENV{PKG_CONFIG_PATH} // '' )
78             );
79             my $LD_LIBRARY_PATH = join(
80             ":",
81             (
82             map {
83 0           my $p = $_;
84 0           map { "$p/$_" } qw# lib64 lib #
  0            
85             } ( $gimp_p, $babl_p, $gegl_p, $mypaint_p )
86             ),
87 0   0       ( $ENV{LD_LIBRARY_PATH} // '' )
88             );
89 0           my $xdg_prefix =
90             "$gegl_p/share:$mypaint_p/share:$mypaint_p/share/pkgconfig:$babl_p/share";
91             my $XDG_DATA_DIRS = (
92             exists( $ENV{XDG_DATA_DIRS} )
93 0 0         ? "$xdg_prefix:$ENV{XDG_DATA_DIRS}"
94             : $xdg_prefix
95             );
96             return +{
97 0           LD_LIBRARY_PATH => $LD_LIBRARY_PATH,
98             PATH => "$gegl_p/bin:$ENV{PATH}",
99             PKG_CONFIG_PATH => $PKG_CONFIG_PATH,
100             XDG_DATA_DIRS => $XDG_DATA_DIRS,
101             };
102             }
103              
104             1;
105              
106             __END__