Create a new page of particular content type and make it home page during drupal installation
You should do it in the same way as in common module. Your code will be in files YOURPROFILE.install and YOURPROFILE.profile.
You can see, for example, how new content type “Article” created in Standard profile. To set front page programmatically you can easily call variable_set('site_frontpage', $path);  

If I needed to create this functionality, I would create a content type, a view and a Feature with my content type and view. Then I would add Views, Features and my Feature module in dependencies. So I wouldn't write any PHP code in my profile except maybe setting front page.  

Other way is to create your own module with your own hook_menu(), page callback and all the staff you need. Then again you should add this module in profile dependencies.
Modules from dependencies can be placed in profile folder or downloaded manually to sites/all folder.
Of course, you can add all the code from such module to YOURPROFILE.profile and it will work, but I think it can be difficult for support.  

Reading: 


How to Write a Drupal 7 Installation Profile
Drush Make theory for happy profile development