Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Perl6 ecosystem

Perl6 ecosystem

YAPC::Okinawa 2018 ONNASON 03/03

E4967f90a08dadff9cc185b863cd99a7?s=128

Shoichi Kaji

March 03, 2018
Tweet

More Decks by Shoichi Kaji

Other Decks in Programming

Transcript

  1. Perl6ͷecosystem Shoichi Kaji

  2. Me • Shoichi Kaji • CPAN, github: skaji • Perl5:

    cpm • Perl6: mi6
  3. ͸͡Ίʹ • 2015೥ΫϦεϚε Perl6ϦϦʔε • ೔ຊͰ͸tokuhirom͞Μ͕த৺ͱͳΓ
 Plack cloneͰ͋ΔCrustΛ࡞ͬͨΓͯ͠੝Γ্͕ͬͨ • ϦϦʔε͔Β2೥3ϲ݄ܦա

    • ண࣮ʹ҆ఆੑɺ଎౓͕վળ͖ͯͨ͠ • ecosystem·ΘΓ΋มԽɻࠓ೔͸͜͜Λ঺հ͍ͨ͠
  4. Contents • ecosystemͱ͸? • ecosystem: Perl5 • ecosystem: ϦϦʔε౰࣌ͷPerl6 •

    ecosystem: ࠓͷPerl6 • Perl6 moduleͷΦʔαϦϯά • ·ͱΊ • Perl6 ecosystemͷࠓޙ
  5. ecosystemͱ͸? • ͜͜Ͱ͸ʮ࠶ར༻ՄೳͳϓϩάϥϜͷ഑෍ɺΠϯετʔϧͷ࢓૊Έʯͱ ͢Δ • PerlͰʮ࠶ར༻ՄೳͳϓϩάϥϜʯͱ͸moduleɺ΋͘͠͸ͦΕΛ·ͱ ΊͨdistributionͰ͋Δ • ecosystemͷதͰҎԼʹண໨͢Δ •

    ഑෍৔ॴ • index • installer
  6. Perl5 • ഑෍৔ॴ • CPAN (via PAUSE) • Index •

    02packages.details.txt created by PAUSE • cpanmetadb • metacpan • installer • CPAN.pm, CPANPLUS, cpanminus
  7. ϦϦʔε౰࣌ͷPerl6 • ഑෍৔ॴ • github • index • https://github.com/perl6/ecosystem ͷMETA.list΁


    PRͰ௥Ճ • installer • panda
  8. ࠓͷPerl6 • ഑෍৔ॴ • CPAN (via PAUSE) • index •

    App::ecogen • installer • zef
  9. ࠓͷPerl6 - PAUSE • CPANʹ͸Perl5 distribution΋͋ΔͷͰɺ୯७ʹPerl6 distribution΋upload͢Δͱ໊લ͕িಥͯ͠͠·͏ɻͲ͏͢Δ͔ • PAUSEʹdistribution͕upload͞Εͨͱ͖ •

    META6.jsonΛؚΉ৔߹ɺPerl6 distributionͱ൑அ • ͦͷͱ͖ɺࣗಈతʹ S/SK/SKAJI/Perl6/ ҎԼʹ഑ஔ • ࠓͷͱ͜ΖɺPerl6σΟϨΫϦҎԼʹ഑ஔ͢ΔҎ֎ɺ
 ಛผͳૢ࡞͸͍ͯ͠ͳ͍
  10. ࠓͷPerl6 - App::ecogen • ఆظతʹCPANΛrsyncͯ͠
 Perl6 distributionͷindexΛ࡞͍ͬͯΔ • ڧ͍:)

  11. ࠓͷPerl6 - zef • A module installer by Nick Logan

    (ugexe) • Perl6ͷfeatureΛ;ΜͩΜʹ࢖ͬͨ
 ׬੒౓ͷߴ͍module installer • rakudoͷbugͷworkaround͕
 ݁ߏೖ͍ͬͯΔҹ৅:)
  12. Perl6 moduleͷΦʔαϦϯά • ecosystem͸Θ͔ͬͨɻͰ͸Ͳ͏΍ͬͯ
 Perl6 moduleΛॻ͍͍͔ͯ͘ • mi6 • Minilla/Dist::Milla

    clone • Now it has "release" command that uploads distributions to CPAN!
  13. Perl6 moduleͷΦʔαϦϯά › mi6 new Your::Module # hack, hack, hack!

    › cd Your::Module; vim lib/Your/Module.pm › mi6 release ==> Release distribution to CPAN There are 11 steps: * Step 1. CheckChanges * Step 2. CheckOrigin * Step 3. CheckUntrackedFiles * Step 4. BumpVersion * Step 5. RegenerateFiles * Step 6. DistTest * Step 7. MakeDist * Step 8. UploadToCPAN * Step 9. RewriteChanges * Step10. GitCommit * Step11. CreateGitTag distributionͷ εέϧτϯ࡞੒͔Β CPAN΁ͷupload·Ͱ Ͱ͖Δ
  14. ·ͱΊ • ࠓͷPerl6ͷecosystem͸Լه3͔ͭΒͳΔ • CPAN (via PAUSE) • App::ecogen •

    zef • mi6Λ࢖͏͜ͱͰ؆୯ʹPerl6 moduleͷ
 ΦʔαϦϯάɺCPAN΁ͷupload͕Ͱ͖Δ
  15. Perl6 ecosystemͷࠓޙ • PAUSEͰindex࡞੒? • Ұ࣌ظFROGGS͞Μ͕PAUSEʹPerl6 moduleઐ༻ͷ ॲཧΛ࣮૷͠Α͏ͱ͍ͯͨ͠ɻͦΕ͕ਐΉ͔΋ • CPAN

    Testersͱͷ࿈ܞ? • Perl Toolchain Summit 2017Ͱগ͠ਐల͕͋ͬͨ • MetaCPANͱͷ࿈ܞ?