Here is another way compatible with xml and no config needed:
public class SquareViewPager extends ViewPager {
    public SquareViewPager(final Context context) {
        super(context);
    }
    public SquareViewPager(final Context context, final AttributeSet attrs) {
        super(context, attrs);
    }
    @Override protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) {
        final int width = getDefaultSize(getSuggestedMinimumWidth(),widthMeasureSpec);
        setMeasuredDimension(width, width);
    }
    @Override protected void onSizeChanged(final int w, final int h, final int oldw, final int oldh) {
        super.onSizeChanged(w, w, oldw, oldh);
    }
}
And then:
<my.package.SquareViewPager
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>