diff --git a/pkgs/applications/misc/gcstar/default.nix b/pkgs/applications/misc/gcstar/default.nix new file mode 100644 index 000000000000..b1ab386083ea --- /dev/null +++ b/pkgs/applications/misc/gcstar/default.nix @@ -0,0 +1,72 @@ +{ stdenv +, fetchFromGitLab +, perlPackages +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "gcstar"; + version = "1.7.2"; + + src = fetchFromGitLab { + owner = "Kerenoc"; + repo = "GCstar"; + rev = "v${version}"; + sha256 = "1vqfff33sssvlvsva1dflggmwl00j5p64sn1669f9wrbvjkxgpv4"; + }; + + nativeBuildInputs = [ wrapGAppsHook ]; + + buildInputs = with perlPackages; [ + perl + ArchiveZip + DateCalc + DateTimeFormatStrptime + Glib + Gtk2 + GD + GDGraph + GDText + HTMLParser + JSON + ImageExifTool + librelative + LWPUserAgent + LWPProtocolHttps + MP3Info + MP3Tag + NetFreeDB + OggVorbisHeaderPurePerl + Pango + XMLSimple + XMLParser + ]; + + installPhase = '' + runHook preInstall + + cd gcstar + perl install --text --prefix=$out + + runHook postInstall + ''; + + postFixup = '' + wrapProgram $out/bin/gcstar --prefix PERL5LIB : $PERL5LIB + ''; + + meta = with stdenv.lib; { + homepage = "https://gitlab.com/Kerenoc/GCstar"; + description = "Manage your collections of movies, games, books, music and more"; + longDescription = '' + GCstar is an application for managing your collections. + It supports many types of collections, including movies, books, games, comics, stamps, coins, and many more. + You can even create your own collection type for whatever unique thing it is that you collect! + Detailed information on each item can be automatically retrieved from the internet and you can store additional data, such as the location or who you've lent it to. + You may also search and filter your collections by many criteria. + ''; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ dasj19 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3148d15e5c94..b4672f58e183 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20006,6 +20006,8 @@ in gcal = callPackage ../applications/misc/gcal { }; + gcstar = callPackage ../applications/misc/gcstar { }; + geany = callPackage ../applications/editors/geany { }; geany-with-vte = callPackage ../applications/editors/geany/with-vte.nix { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a8433bbfb9a0..62488011644c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2218,6 +2218,20 @@ let }; }; + CDDBFile = buildPerlPackage { + pname = "CDDB-File"; + version = "1.05"; + src = fetchurl { + url = mirror://cpan/authors/id/T/TM/TMTM/CDDB-File-1.05.tar.gz; + sha256 = "1jf7xhd4w9iwabhz2wajh6fid3nyvkid9q5gdhyff52w86f45rpb"; + }; + meta = { + description = "Parse a CDDB/freedb data file"; + license = stdenv.lib.licenses.artistic1; + }; + }; + + CGI = buildPerlPackage { pname = "CGI"; version = "4.49"; @@ -13892,6 +13906,41 @@ let }; }; + MP3Info = buildPerlPackage { + pname = "MP3-Info"; + version = "1.26"; + src = fetchurl { + url = mirror://cpan/authors/id/J/JM/JMERELO/MP3-Info-1.26.tar.gz; + sha256 = "1rwbrsdw6y6jgcjvrlji6fbcvwl4wlka3mkhlw12a7s2683k8qjp"; + }; + meta = { + description = "Manipulate / fetch info from MP3 audio files"; + license = with stdenv.lib.licenses; [ artistic1 ]; + }; + }; + + MP3Tag = buildPerlPackage { + pname = "MP3-Tag"; + version = "1.15"; + src = fetchurl { + url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/MP3-Tag-1.15.zip; + sha256 = "1lanbwv97sfsb7h4vsg1v0dv3yghpz01nf3rzl4a9p3ycgs4ib5a"; + }; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ CompressZlib ExtUtilsMakeMaker ]; + postPatch = '' + substituteInPlace Makefile.PL --replace "'PL_FILES'" "#'PL_FILES'" + ''; + postFixup = '' + perl data_pod.PL PERL5LIB:$PERL5LIB + ''; + outputs = [ "out" ]; + meta = { + description = "Module for reading tags of MP3 audio files"; + license = with stdenv.lib.licenses; [ artistic1 ]; + }; + }; + Mouse = buildPerlModule { pname = "Mouse"; version = "2.5.10"; @@ -14324,6 +14373,21 @@ let }; }; + NetFreeDB = buildPerlPackage { + pname = "Net-FreeDB"; + version = "0.10"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DS/DSHULTZ/Net-FreeDB-0.10.tar.gz; + sha256 = "11dfi14qnzsnmr71cygir85zfj15n08b7d5g0i4cj5pb70if2hzp"; + }; + buildInputs = [ TestMost TestDeep TestWarn TestException TestDifferences ]; + propagatedBuildInputs = [ CDDBFile Moo libnet ]; + meta = { + description = "Perl interface to freedb server(s)"; + license = with stdenv.lib.licenses; [ artistic1 ]; + }; + }; + NetHTTP = buildPerlPackage { pname = "Net-HTTP"; version = "6.19"; @@ -14872,6 +14936,22 @@ let }; }; + OggVorbisHeaderPurePerl = buildPerlPackage { + pname = "Ogg-Vorbis-Header-PurePerl"; + version = "1.0"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DA/DANIEL/Ogg-Vorbis-Header-PurePerl-1.0.tar.gz; + sha256 = "0kjqswnwhp7yf7czvhggdyp2pgg5wa58b4jwpn8j3km7h2ll8pmy"; + }; + buildInputs = [ TestMore ]; + # The testing mechanism is erorrneous upstream. See http://matrix.cpantesters.org/?dist=Ogg-Vorbis-Header-PurePerl+1.0 + doCheck = false; + meta = { + description = "An object-oriented interface to Ogg Vorbis information and comment fields"; + license = with stdenv.lib.licenses; [ artistic1 ]; + }; + }; + OLEStorage_Lite = buildPerlPackage { pname = "OLE-Storage_Lite"; version = "0.20";