From 0ceb82d3dd5ce024dd9f7780c20f27d1bb61eacc Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Sat, 22 Apr 2017 16:05:07 -0400 Subject: [PATCH 1/9] perlPackages.SetIntSpan: init at 1.19 --- pkgs/top-level/perl-packages.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0e9efde834db..343ac4758a64 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -11468,6 +11468,18 @@ let self = _self // overrides; _self = with self; { }; }; + SetIntSpan = buildPerlPackage rec { + name = "Set-IntSpan-1.19"; + src = fetchurl { + url = "https://cpan.metacpan.org/authors/id/S/SW/SWMCD/Set-IntSpan-1.19.tar.gz"; + sha256 = "1l6znd40ylzvfwl02rlqzvakv602rmvwgm2xd768fpgc2fdm9dqi"; + }; + + meta = { + description = "Manages sets of integers"; + }; + }; + SetObject = buildPerlPackage { name = "Set-Object-1.34"; src = fetchurl { From 76cea3de93c73865a0fb9d0e578c0e2a7c464654 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Sat, 22 Apr 2017 16:07:25 -0400 Subject: [PATCH 2/9] perlPackages.BusinessHours: init at 0.12 --- pkgs/top-level/perl-packages.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 343ac4758a64..4f3d55ec9346 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -734,6 +734,19 @@ let self = _self // overrides; _self = with self; { ]; }; + BusinessHours = buildPerlPackage rec { + name = "Business-Hours-0.12"; + src = fetchurl { + url = "https://cpan.metacpan.org/authors/id/R/RU/RUZ/Business-Hours-0.12.tar.gz"; + sha256 = "15c5g278m1x121blspf4bymxp89vysizr3z6s1g3sbpfdkrn4gyv"; + }; + buildInputs = [ TestPod TestPodCoverage ]; + propagatedBuildInputs = [ SetIntSpan TimeLocal ]; + meta = { + description = "Calculate business hours in a time period"; + }; + }; + BusinessISBN = buildPerlPackage rec { name = "Business-ISBN-2.09"; src = fetchurl { From a9f89128458895737dee9dc011fda214304088af Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Sat, 22 Apr 2017 16:08:11 -0400 Subject: [PATCH 3/9] perlPackages.CSSMinifierXP: init at 1.02 --- pkgs/top-level/perl-packages.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4f3d55ec9346..c6d310aee7a0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2790,6 +2790,18 @@ let self = _self // overrides; _self = with self; { buildInputs = [ Clone ]; }; + CSSMinifierXP = buildPerlPackage rec { + name = "CSS-Minifier-XS-0.09"; + src = fetchurl { + url = "https://cpan.metacpan.org/authors/id/G/GT/GTERMARS/CSS-Minifier-XS-0.09.tar.gz"; + sha256 = "1myswrmh0sqp5xjpp03x45z8arfmgkjx0srl3r6kjsyzl1zrk9l8"; + }; + meta = { + description = "XS based CSS minifier"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + CSSSquish = buildPerlPackage { name = "CSS-Squish-0.10"; src = fetchurl { From 2f1ef64492a65d0d6c3cfc974e50a00747fe463a Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Sat, 22 Apr 2017 16:08:56 -0400 Subject: [PATCH 4/9] perlPackages.GDText: init at 0.86 --- pkgs/top-level/perl-packages.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c6d310aee7a0..bcf61d218945 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5732,6 +5732,18 @@ let self = _self // overrides; _self = with self; { }; }; + GDText = buildPerlPackage rec { + name = "GDTextUtil-0.86"; + src = fetchurl { + url = "https://cpan.metacpan.org/authors/id/M/MV/MVERB/GDTextUtil-0.86.tar.gz"; + sha256 = "1g0nc7fz4d672ag7brlrrcz7ibm98x49qs75bq9z957ybkwcnvl8"; + }; + propagatedBuildInputs = [ GD ]; + meta = { + description = "Text utilities for use with GD"; + }; + }; + GeoIP = buildPerlPackage rec { name = "Geo-IP-1.45"; src = fetchurl { From 2d65b7f251c3998653514278589c30d9285e8800 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Sat, 22 Apr 2017 16:09:46 -0400 Subject: [PATCH 5/9] perlPackages.JavaScriptMinifierXS: init at 0.11 --- pkgs/top-level/perl-packages.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index bcf61d218945..a8848b8f4724 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7173,6 +7173,20 @@ let self = _self // overrides; _self = with self; { }; }; + JavaScriptMinifierXS = buildPerlPackage rec { + name = "JavaScript-Minifier-XS-0.11"; + src = fetchurl { + url = "https://cpan.metacpan.org/authors/id/G/GT/GTERMARS/JavaScript-Minifier-XS-0.11.tar.gz"; + sha256 = "1vlyhckpjbrg2v4dy9szsxxl0q44n0y1xl763mg2y2ym9g5144hm"; + }; + propagatedBuildInputs = [ ]; + meta = { + description = "XS based JavaScript minifier"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + + JSON = buildPerlPackage { name = "JSON-2.90"; src = fetchurl { From 38574a5878bfd260e6e2135f5ebcf5ffca7c854d Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Sat, 22 Apr 2017 16:10:10 -0400 Subject: [PATCH 6/9] perlPackages.GDGraph: init at 1.54 --- pkgs/top-level/perl-packages.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a8848b8f4724..073205bec9cb 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5719,6 +5719,20 @@ let self = _self // overrides; _self = with self; { makeMakerFlags = "--lib_png_path=${pkgs.libpng.out} --lib_jpeg_path=${pkgs.libjpeg.out} --lib_zlib_path=${pkgs.zlib.out} --lib_ft_path=${pkgs.freetype.out} --lib_fontconfig_path=${pkgs.fontconfig.lib} --lib_xpm_path=${pkgs.xorg.libXpm.out}"; }; + GDGraph = buildPerlPackage rec { + name = "GDGraph-1.54"; + src = fetchurl { + url = "https://cpan.metacpan.org/authors/id/R/RU/RUZ/GDGraph-1.54.tar.gz"; + sha256 = "0kzsdc07ycxjainmz0dnsclb15w2j1y7g8b5mcb7vhannq85qvxr"; + }; + propagatedBuildInputs = [ GD GDText ]; + buildInputs = [ TestException CaptureTiny ]; + meta = { + description = "Graph Plotting Module for Perl 5"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + GDSecurityImage = buildPerlPackage { name = "GD-SecurityImage-1.72"; src = fetchurl { From b48ea664f596e153fbe6388d704142356a3f6166 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Sat, 22 Apr 2017 16:11:15 -0400 Subject: [PATCH 7/9] perlPackages.MIMETools: init at 5.509 --- pkgs/top-level/perl-packages.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 073205bec9cb..3554c02b5583 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8290,6 +8290,29 @@ let self = _self // overrides; _self = with self; { buildInputs = [ ProcWaitStat ]; }; + MIMETools = buildPerlPackage rec { + name = "MIME-tools-5.509"; + src = fetchurl { + url = "https://cpan.metacpan.org/authors/id/D/DS/DSKOLL/MIME-tools-5.509.tar.gz"; + sha256 = "0wv9rzx5j1wjm01c3dg48qk9wlbm6iyf91j536idk09xj869ymv4"; + }; + propagatedBuildInputs = [ + MailTools + FilePath + FileTemp + MIMEBase64 + ]; + buildInputs = [ + TestDeep + TestPod + TestPodCoverage + ]; + meta = { + description = "class for parsed-and-decoded MIME message"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + MIMELite = buildPerlPackage rec { name = "MIME-Lite-3.030"; src = fetchurl { From 46f952371ee587cb820095e2662ad0a4cb10d170 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Sat, 22 Apr 2017 16:11:55 -0400 Subject: [PATCH 8/9] perlPackages.DataPagePageset: init at 1.02 --- pkgs/top-level/perl-packages.nix | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3554c02b5583..bd28201bb66a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3022,6 +3022,20 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [TestException ClassAccessorChained]; }; + DataPagePageset = buildPerlPackage rec { + name = "Data-Page-Pageset-1.02"; + src = fetchurl { + url = "https://cpan.metacpan.org/authors/id/C/CH/CHUNZI/Data-Page-Pageset-1.02.tar.gz"; + sha256 = "142isi8la383dbjxj7lfgcbmmrpzwckcc4wma6rdl8ryajsipb6f"; + }; + buildInputs = [ TestPod TestPodCoverage ]; + propagatedBuildInputs = [ DataPage ]; + meta = { + description = "change long page list to be shorter and well navigate"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + DataPassword = buildPerlPackage { name = "Data-Password-1.12"; src = fetchurl { @@ -6883,7 +6897,7 @@ let self = _self // overrides; _self = with self; { sha256 = "74d22c44b5ad2e7190e2786e8a17d74bbf4cef89b4d1157ba33598b5a2720dad"; }; }; - + IOPager = buildPerlPackage { name = "IO-Pager-0.06"; src = fetchurl { @@ -12419,7 +12433,7 @@ let self = _self // overrides; _self = with self; { license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; }; - + TaskFreecellSolverTesting = buildPerlModule rec { name = "Task-FreecellSolver-Testing-v0.0.10"; src = fetchurl { @@ -13641,7 +13655,7 @@ let self = _self // overrides; _self = with self; { license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; }; - + TestTrailingSpace = buildPerlPackage rec { name = "Test-TrailingSpace-0.0301"; src = fetchurl { From 55d4d50cd32afa2304327b379adc93f93663a31e Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Sat, 22 Apr 2017 16:21:45 -0400 Subject: [PATCH 9/9] rt: improve packaging, with a progress note --- pkgs/servers/rt/default.nix | 88 ++++++++++++++++++++++++++++++++++--- 1 file changed, 81 insertions(+), 7 deletions(-) diff --git a/pkgs/servers/rt/default.nix b/pkgs/servers/rt/default.nix index deec6589dbb2..82818037072a 100644 --- a/pkgs/servers/rt/default.nix +++ b/pkgs/servers/rt/default.nix @@ -1,5 +1,35 @@ -{ stdenv, fetchurl, perl }: +{ stdenv, buildEnv, fetchurl, perl, perlPackages, makeWrapper }: +# This package isn't extremely useful as it is, but is getting close. +# After running: +# +# nix-build . -A rt +# +# I created a config file named myconfig.pm with: +# +# use utf8; +# Set($rtname, '127.0.0.1'); +# # These dirs need to be pre-created: +# Set($MasonSessionDir, '/home/grahamc/foo/sessiondir/'); +# Set($MasonDataDir, '/home/grahamc/foo/localstate/'); +# Set($WebPort, 8080); +# +# Set($DatabaseType, "SQLite"); +# Set( $DatabaseName, '/home/grahamc/projects/foo/my.db' ); +# +# 1; +# +# and ran +# +# RT_SITE_CONFIG=$(pwd)/myconfig.pm ./result/bin/rt-setup-database --action init +# +# Then: +# +# RT_SITE_CONFIG=$(pwd)/myconfig.pm ./result/bin/rt-server +# +# Make sure to check out result/etc/RT_Config.pm +# +# Good luck. stdenv.mkDerivation rec { name = "rt-${version}"; @@ -12,14 +42,58 @@ stdenv.mkDerivation rec { patches = [ ./override-generated.patch ]; - buildInputs = [ perl ]; + buildInputs = [ + makeWrapper + perl + (buildEnv { + name = "rt-perl-deps"; + paths = (with perlPackages; [ + ApacheSession BusinessHours CGIEmulatePSGI CGIPSGI + CSSMinifierXP CSSSquish ConvertColor CryptEksblowfish + CryptSSLeay DBDSQLite DBDmysql DBIxSearchBuilder DataGUID + DataICal DataPagePageset DateExtract DateManip + DateTimeFormatNatural DevelGlobalDestruction EmailAddress + EmailAddressList FCGI FCGIProcManager FileShareDir FileWhich + GD GDGraph GnuPGInterface GraphViz HTMLFormatTextWithLinks + HTMLFormatTextWithLinksAndTables HTMLMason + HTMLMasonPSGIHandler HTMLQuoted HTMLRewriteAttributes + HTMLScrubber IPCRun IPCRun3 JSON JavaScriptMinifierXS LWP + LWPProtocolHttps LocaleMaketextFuzzy LocaleMaketextLexicon + LogDispatch MIMETools MIMETypes MailTools ModuleRefresh + ModuleVersionsReport MozillaCA NetCIDR NetIP PerlIOeol Plack + RegexpCommon RegexpCommonnetCIDR RegexpIPv6 RoleBasic + ScopeUpper Starlet SymbolGlobalName TermReadKey + TextPasswordPronounceable TextQuoted TextTemplate + TextWikiFormat TextWrapper TimeParseDate TreeSimple + UNIVERSALrequire XMLRSS + ]); + }) + ]; - dontBuild = true; + preConfigure = '' + configureFlags="$configureFlags --with-web-user=$UID" + configureFlags="$configureFlags --with-web-group=$(id -g)" + configureFlags="$configureFlags --with-rt-group=$(id -g)" + configureFlags="$configureFlags --with-bin-owner=$UID" + configureFlags="$configureFlags --with-libs-owner=$UID" + configureFlags="$configureFlags --with-libs-group=$(id -g)" + ''; + configureFlags = [ + "--enable-graphviz" + "--enable-gd" + "--enable-gpg" + "--with-db-type=SQLite" + ]; - installPhase = '' - mkdir $out - cp -a {bin,docs,etc,lib,sbin,share} $out - find $out -name '*.in' -exec rm '{}' \; + buildPhase = '' + make testdeps | grep -i missing | sort + ''; + + preFixup = '' + for i in $(find $out/bin -type f; find $out/sbin -type f); do + wrapProgram $i \ + --prefix PERL5LIB ':' $PERL5LIB + done ''; meta = {